
主旨
环境
linux环境docker容器
总则
1、可以用镜像生成对应运行的容器,一个镜像可以生成多个容器。2、容器里面的系统和宿主机是相互独立的。3、容器的删除和崩溃,不会影响到宿主机。
开启路由转发
[yunweijia@localhost ~]$ sudo vim etc/sysctl.conf# 最后一行新增这个配置net.ipv4.ip_forward = 1[yunweijia@localhost ~]$ sudo sysctl -pnet.ipv4.ip_forward = 1[yunweijia@localhost ~]$
前台运行容器
语法:docker run -it 镜像:版本号 bash环境参数解释:-i:表示交互式-t:表示打开一个shell窗口实例:[yunweijia@localhost ~]$ sudo docker run -it centos:7 /bin/bash[root@325a97085854 ]# pwd[root@325a97085854 ]#
语法:docker ps [-a]参数解释:默认查看处于运行状态下的容器,[-a]表示查看所有状态的容器实例:# 输入docker ps的时候,看不到容器,因为都是停止状态的[yunweijia@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES# 加上参数 -a 之后,发现有两个处于exited状态的容器[yunweijia@localhost ~]$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES325a97085854 centos:7 "/bin/bash" 8 minutes ago Exited (127) 5 minutes ago youthful_kowalevski2d5c7e25517f hello-world "/hello" 43 hours ago Exited (0) 43 hours ago objective_rhodes[yunweijia@localhost ~]$
语法:docker inspect 容器ID容器ID:即使用docker ps查看出来结果的第一列,就是容器ID实例:[yunweijia@localhost ~]$ sudo docker inspect 325a97085854
语法:docker logs 容器ID容器ID:即使用docker ps查看出来结果的第一列,就是容器ID实例:[yunweijia@localhost ~]$ sudo docker logs 325a97085854
需要有永久运行的程序,否则程序一旦停止,容器也将随之停止。
语法:docker run -d 镜像:版本号 bash环境 运行的程序实例:# 后面就加了一个永久运行的脚本[yunweijia@localhost ~]$ sudo docker run -d centos:7 bin/bash -c "while true;do echo yunweijia; sleep 5; done"[yunweijia@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 39 seconds ago Up 38 seconds goofy_mendeleev[yunweijia@localhost ~]$
语法:docker exec -it 容器ID bash环境实例:[yunweijia@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 2 minutes ago Up 2 minutes goofy_mendeleev[yunweijia@localhost ~]$ sudo docker exec -it b47b053f66c2 bin/bash[root@b47b053f66c2 ]#
语法:docker stop 容器ID # 正常停止docker kill 容器ID # 强制停止实例:[yunweijia@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 5 minutes ago Up 5 minutes goofy_mendeleev[yunweijia@localhost ~]$ sudo docker stop b47b053f66c2b47b053f66c2# 查不到了[yunweijia@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES# 可以看到变成停止状态了[yunweijia@localhost ~]$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 6 minutes ago Exited (137) 8 seconds ago goofy_mendeleev325a97085854 centos:7 "/bin/bash" 26 minutes ago Exited (127) 22 minutes ago youthful_kowalevski2d5c7e25517f hello-world "/hello" 43 hours ago Exited (0) 43 hours ago objective_rhodes[yunweijia@localhost ~]$
语法:docker start 容器ID实例:[yunweijia@localhost ~]$ sudo docker start b47b053f66c2b47b053f66c2[yunweijia@localhost ~]$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 7 minutes ago Up 3 seconds goofy_mendeleev[yunweijia@localhost ~]$
语法:docker rm 容器ID # 正常删除docker rm -f 容器ID # 强制删除docker rm -f 容器ID 容器ID # 批量删除注意:只能删除处于停止状态的容器实例:[yunweijia@localhost ~]$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 8 minutes ago Up About a minute goofy_mendeleev325a97085854 centos:7 "/bin/bash" 28 minutes ago Exited (127) 25 minutes ago youthful_kowalevski2d5c7e25517f hello-world "/hello" 43 hours ago Exited (0) 43 hours ago objective_rhodes[yunweijia@localhost ~]$ sudo docker rm 2d5c7e25517f2d5c7e25517f[yunweijia@localhost ~]$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb47b053f66c2 centos:7 "/bin/bash -c 'while…" 9 minutes ago Up About a minute goofy_mendeleev325a97085854 centos:7 "/bin/bash" 29 minutes ago Exited (127) 25 minutes ago youthful_kowalevski[yunweijia@localhost ~]$

文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




