接着上一篇,今天说一下Docker 有关容器的经常使用命令。算是比较详细了吧。nginx
注:此命令做用是使用一个镜像运行启动一个容器。 在启动运行的时候 会检查docker 中是否包含了该镜像 若是没有包含 ,docker 会自动的在 docker 的仓库中下载你想使用的镜像。也就是说有时候我们能够省略:Doker pull 命令。docker
Docker run 命令经常使用的参数bootstrap
1:--name 【镜像名】 :centos
--name 给启动的容器 起一个名字,若是不使用 –name docker的守护进程会自动给你的容器命名,这里建议使用此参数,docker进程起的名太难记了bash
2:-d 网络
若是想启动一个在后台运行的容器的时候执行如下命令:能够启动一个容器而且后台运行 能够建立一个守护式容器。学习
能够对比一下名字ui
3:-t docker 会 分配一个伪终端并绑定到容器的标准输入上,spa
4:-i则让容器的标准输入保持打开,使用的时候能够两个结合为3d
5:– it 上面两个的结合
演示一下使用不使用 – it 做用:
Docker run – name centos centos /bin/bash
Docker run – name centos -it centos /bin/bash
注:一个运行后直接闪退了,而且不会保持与运行,加上-it 后运行咱们会直接进入容器中,可是会在退出容器后中止容器。
有关docker run 的参数就先说这几个,在后续文会继续增长。
1:Docker ps 查看运行中的容器
咱们能够看到 容器的ID,名称,运行时间 端口等信息
2:Docker ps -a 查看全部运行中的和为运行的
3:Docker ps -l 能够查看你最后一个运行的容器
1:Docker rm
删除 ID/名称 为某某的容器 (未运行的)
2:Docker rm `docker ps -a -q`
批量删除未运行的容器
3:Docker rm -f
强制删除运行中的容器
4:Docker rm -f `docker ps -a -q`
批量强制删除运行中的容器
删除就不演示了,可是后面的两个坚定不推荐使用(就怕删错了谨慎为上)
1:中止命令
Docker stop
Docker kill
这两个均可以中止容器
区别:
stop 发送一个命令等待容器中止: 有等待时间
Kill 直接中止容器:没等待时间
2:启动命令
Docker start ID/名称 启动一个未运行(已中止)的容器
Docker start -i ID/名称 以交互的方式启动容器(直接会进入容器)
这个就不演示了,在使用-I 的时候不是每次都会成功的会卡住。这点注意了
1:exit
2:ctrl+d 退出和exit 效果同样。
3:ctrl+p ctrl+q 这种组合的退出方式只适用与交互式容器
以上三个命令是在容器中使用的
1:Docker attach ID/名称 注:退出后会中止容器
能够进入一个正在运行的容器中。须要注意的是 Docker attach 这个命令是由缺陷的,很早就有了,有时候咱们想进入一个容器中的时候 卡住了,但不是没次都会卡主有时候会有时候不会
好比:运行一个consul镜像
docker run -d -P --name consul docker.io/consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -client=0.0.0.0 -datacenter=dc1
查看结果:确保容器运行中
进入容器结果:
卡在这了不会动了,取消以后还会 中止正在运行的容器尴尬不。
2:启动时进入容器。 在docker run 已经使用 注:退出后会中止容器
3:第三种是生产的时候推荐使用的 (退出后容器不会登出)
咱们使用PID进入容器查看容器的PID 两种方法
docker inspect -f {{.State.Pid}} nginx
docker top nginx
结果:
进入容器:使用nsenter 个人centos 自带此命令,没有的能够安装一下。
nsenter --target 10692 --uts --ipc --net --pid
推出容器: Ctrl +d
查看容器的运行状态:docker ps
退出后容器不会登出,这种方式生产建议使用:
docker logs id/名称
Logs 选项大体分为三个:
-t 显示容器的日志信息
-f 显示容器的日志信息并带上时间
--tail 数字参数 显示容器的全部日志信息
好比:咱们运行一个centos 的容器 并循环输出 hello word
以下图:
查看日志:docker logs contos2 或者 ocker logs -f contos2 手残centos
使用命令:docker logs -t contos2 或者 docker logs -ft contos2
使用命令:docker logs --tail 3 contos2 或者 docker logs -t --tail 3 contos2
注:以上命令只是示范可随意组合使用:
注:docker 理念一个容器运行一个进程,可是保不齐咱们须要对该容器 维护监控等操做。
新建立一个容器:
查看容器的进程数量
新建并查看进程:
docker exec -it -d centos4 /bin/bash
这里显示了新的进程信息。
下一篇记录一下 docker 的网络。
有不足之处 但愿你们指出相互学习,
本文原创:转载请注明出处 谢谢!