DOCKER安装及配置/进入运行环境

初步安装

yum update -y
yum -y install docker
systemctl start docker

设置来源镜像

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}

run命令配置参数运行环境, 拉取镜像

docker run [options] image[:tag|digest] [command] [ags...]

示例:
docker run -d --name user_center \
  --restart=always \
  #映射到宿主机目录,这样我们就直接在/home/wwwroot/user_center开发
  -v /home/wwwroot/user_center:/hyperf-skeleton \ 
  # 9501提供http服务,9504提供json-rpc服务
  -p 9501:9501 -p 9504:9504 \ 
  -it 
  --entrypoint /bin/sh \
  #指定下载的镜像环境
  hyperf/hyperf:7.3-alpine-cli
options参数
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;     //相当于在本地添加了一个系统

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-w, --workdir="" 指定容器的工作目录

-c, --cpu-shares=0 设置容器CPU权重,在CPU共享场景使用

-e, --env=[] 指定环境变量,容器中可以使用该环境变量

-m, --memory="" 指定容器的内存上限

-P, --publish-all=false 指定容器暴露的端口

-p, --publish=[] 指定容器暴露的端口

--name="" 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

-h, --hostname="" 指定容器的主机名

-v, --volume=[] 给容器挂载存储卷,挂载到容器的某个目录

--volumes-from=[] 给容器挂载其他容器上的卷,挂载到容器的某个目录

--cap-add=[] 添加权限,权限清单详见:[http://linux.die.net/man/7/capabilities](http://linux.die.net/man/7/capabilities)

--cap-drop=[] 删除权限,权限清单详见:[http://linux.die.net/man/7/capabilities](http://linux.die.net/man/7/capabilities)

--cidfile="" 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法

--cpuset="" 设置容器可以使用哪些CPU,此参数可以用来容器独占CPU

--device=[] 添加主机设备给容器,相当于设备直通

--dns=[] 指定容器的dns服务器

--dns-search=[] 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件

--entrypoint="" 覆盖image的入口点

--env-file=[] 指定环境变量文件,文件格式为每行一个环境变量

--expose=[] 指定容器暴露的端口,即修改镜像的暴露端口

--link=[] 指定容器间的关联,使用其他容器的IP、env等信息

--lxc-conf=[] 指定容器的配置文件,只有在指定

--exec-driver=lxc时使用

--net="bridge" 容器网络设置: bridge 使用docker daemon指定的网桥 host //容器使用主机的网络 container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源 none 容器使用自己的网络(类似--net=bridge),但是不进行配置

--privileged=false 指定容器是否为特权容器,特权容器拥有所有的capabilities

--restart="no" 指定容器停止后的重启策略: no:容器退出时不重启 on-failure:容器故障退出(返回值非零)时重启 always:容器退出时总是重启

--rm=false 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)

--sig-proxy=true 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

run 运行容器时, 将容器内部文件与外部文件夹进行映射

目的:

  • docker容器不保持任何数据
  • 重要数据请使用外部卷存储(数据持久化)
  • 容器可以挂载真实机目录或共享存储为卷
  • 配置文件等映射外部, 由外部进行直接修改

docker create + docker start = docker run
create参数和run参数基本一直。

docker create -it -p [外部端口]:[容器端口] -v /tmp/skeleton:/hyperf-skeleton  --privileged --name [容器名] [镜像id/名] /bin/bash

使用docker镜像创建一个容器, 但是不启动它, 镜像如果在本地没有则在云端仓库拉取

docker start [容器id/名] 

docker run -v /tmp/skeleton:/hyperf-skeleton 
外部/tmp/skeleton与容器内的hyperf-skeleton 相关联, run命令是create和start的结合。


docker进入容器内部进行配置

使用docker exec进入Docker容器
接下来我们使用该命令进入一个已经在运行的容器

查看运行中的容器
docker ps  

使用镜像id运行容器
docker  start 5ec1b41ea352 

以bash 命令模式进入运行中的容器
docker exec -it 5ec1b41ea352 /bin/bash  

普通的进入容器
docker attach 5ec1b41ea352 
图片.png
退出或者关闭容器
#退出
exit

#关闭
docker stop [image name]

#重启
docker start [image name]
退出时保持容器运行

退出时,使用[ctrl + D],这样会结束docker当前线程,容器结束,可以使用[ctrl + P][ctrl + Q]退出而不终止容器运行


镜像容器运行后,并在容器内安装 Composer

先下载 Composer 进 docker 容器内

wget https://mirrors.aliyun.com/composer/composer.phar
修改执行权限
此操作是为了解决 Composer 不允许 root 权限执行的限制
同时为切换用户时,可以直接操作
生产环境下不推荐 777 授权方式
chmod -R 777 ./composer.phar
移动 composer 至 bin 目录下面,并且改名为 composer
mv composer.phar /usr/local/bin/composer
将 Composer 镜像设置为阿里云镜像,加速国内下载速度
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
composer安装提示内存不足

使用以下命令启动交换区1M

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 8,669评论 1 21
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,342评论 0 27
  • 1. Docker是什么? Docker是一个用来装应用的容器,就好比用书包来装书,用水杯来装水,你可以把你想到的...
    ce5154e79490阅读 793评论 0 0
  • 镜像 获取镜像 docker pull 拉取镜像 格式: docker pull [选项] [Docker Reg...
    小小了墨阅读 1,981评论 1 1
  • 我没有盔甲 只剩眼泪
    独舞巫阅读 263评论 0 0