设为首页 收藏本站
查看: 1367|回复: 0

[经验分享] Docker 之 docker命令介绍

[复制链接]

尚未签到

发表于 2019-2-21 08:59:48 | 显示全部楼层 |阅读模式
  1  概述

容器状态转换相关的命令列表关系,docker的状态转换和管理的命令,即docker的生命周期管理的命令,如下截图
圆形图标表示docker的状态
方框表示命令执行命令后触发的事件
箭头的命令,为docker的相关命令,命令执行后,会触发相关事件,事件在方框内表示
菱形里的表示判断,取决于策略设定,如一旦某个容器被意外终止,如OOM,是否被restart

容器处于created或者stopped状态,可以被删除
DSC0000.jpg

  2  命令介绍
docker pull 拉取相关镜像
每个镜像文件都有其id,即其校验码,如只拖下来1.27.2这个版本,-a则把所有版本都拖下来,如


docker pull busybox:1.27.2获取最新的centos镜像,默认获取latest版本

docker image pull centos显示本地镜像信息
docker image ls或者

docker images查找镜像

如查找centos镜像,official 显示ok表示官方的,一般采用官方的
docker search centos创建和启动
create:仅创建容器不启动

run:既创建容器又启动容器
可以通过命令查看相关的参数选项
docker run --help如下

指定容器的名字  --name
-i是指登录到终端后进入交互式,
-t-i一起使用,即-it
--detach 表示不附加终端
但是--rm表示容器停止后就删除,一般和--detach一起运行
运行如下的命令,运行容器


docker run -it --name sunnybox busybox:1.27.2启动docker的时候会自动创建docker0的桥,ip 172.17.0.1,默认不指定网络的话,容器会被默认指定到这个桥上,ip172.17.0.2这个ip开始分配

启动容器,执行命令后,将容器删除
如执行ifconfig -a后删除容器,这个命令的意义在于可以用来探查相关容器的信息
docker run --name sunnybox03 --rm busybox:1.27.2 ifconfig -a查看运行中的容器的进程信息



docker toptop后跟上容器名称,如下查看新建的sunnybox

docker top sunnybox查看运行中的容器



docker ps查看所有的容器,包括没有运行的容器,加-a选项

docker ps -a停止容器

命令有stop和kill,其中,stop命令比较安全,kill强制停止,可能导致数据丢失
docker stop sunnybox或者

docker kill sunnybox重启运行中的容器

docker restart sunnybox暂停容器运行

容器暂停后,相当于状态冻结在内存中,不会响应请求
docker pause sunnybox解除暂停容器,重新运行

docker unpause sunnybox附加终端

镜像在后台运行,通过attach进入运行中容器
docker attach sunnybox要剥离终端,可以同时按照ctrl+p,然后再快速按ctrl+q进行剥离

删除容器
容器停止默认不会被删除的,用以下命令删除
docker rm sunnybox注意,docker有可能会因为宿主机内存耗尽而终止,内核会随机选择docker内存占用大的容器,将其强制停止。

查看镜像或者容器的详细信息
docker inspect sunnybox容器的信息用json格式的字典进行详细

docker inspect busybox:1.27.2在docker容器中,命令不能运行为守护进程,原因是运行为守护进程,就会脱离当前终端,脱离当前终端,就相当于当前容器没有进程,那么当前容器生命周期就结束了,如下,启动一个命令,设定busybox启动httpd服务,但是添加选项-f,表示httpd不启动为守护进程,

如果执行以下命令,那么就会卡住,这是正确的,因为httpd此时运行起来,没有进入交互式模式,所以卡住,如果把选项-f换成-d选项就可以运行为守护模式,不建议使用-d选项
docker run --name sunnyweb busybox:1.27.2 httpd -f /在已经运行的容器中运行其他命令,使用选项 exec

如下命令,在已经运行的容器sunnyweb执行命令netstat -tnl,查看容器内部监听端口信息
docker exec sunnyweb netstat -tnl容器的资源限制
要为容器配置资源,需要用cgroup来配置,
docker 提供了三个参数在docker run和docker creat命令允许在设置容器时管理三种不同资源
如下三个选项
内存: -m  或者 --memory:设置内存大小,如果不指定,默认为docker宿主机的可用内存
CPU: --cpu-shares :表示有多个容器时,按什么比例把CPU分配给某些容器的比例,权重设置是2的整数倍,如512:1024表示两个容器的的CPU占比为1:2
       --cpuset-cpus:表示把哪几个cpu配置给这个容器,而不是使用宿主机的所有CPU,用于绑定CPU核心
设备
      --devices : 把某个物理设备授权给容器
     --device  /dev/cdrom:把光盘分区授权给某个容器,其他容器看不到
一般不做设置,如果要设置,一般在容器编排工具里进行设置




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675132-1-1.html 上篇帖子: Docker 之 docker安装 下篇帖子: Docker 之 基于容器的镜像制作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表