本章讲解Docker命令之容器命令的相关知识
方法1.概念
通过前面的学习,我们学习了有关于镜像的操作。那么接下来学习的重点在于容器命令!
2.docker的容器命令
还记不记得我们之前运行过hello-world啊,其实他就是一个简单的容器命令。
本次我们将下载一个centos镜像来作为演示。或许会下载一个nginx镜像。
我们事先拉取一个nginx镜像、一个tomcat镜像、一个nginx镜像,这个不多说了:
1)docker run 命令
该命令用于运行一个镜像实例,即容器
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用的OPTIONS:
--name="容器新名字":表示为容器起一个新的名字-d:后台运行容器,并且返回容器的ID,也就是启动守护式容器-i:以交互模式运行容器,通常与-t配合使用-t:为容器重新分配一个伪输入终端,通常与-i配合使用-P:随机端口映射,通常用于tomcat、nginx、redis等-p:指定端口映射,通常采用-->hostPort:containerPort的格式,通常用于tomcat、nginx、redis等范例:启动交互式容器centos
命令:docker -it centos:6
我们可以发现,我们打开了centos容器的一个终端,好神奇啊!像套娃一样。。
使用交互式容器的退出:
exit:容器停止并退出
ctrl+P+Q:容器不停止退出
范例:启动守护式容器tomcat
命令:docker run --name mytomcat -p 8080:8080 -d tomcat
那么呢我们就可以通过本地访问8080端口访问这个tomcat啦!
2)docker ps命令
该命令用于运行列举当前运行容器的列表
语法:docker ps [OPTIONS]
常用的OPTIONS:
-a:列举出当前所有正在运行的容器和以前运行过的容器-l:显示最近创建的容器-n:显示最近n个创建的容器-q:静默模式,仅显示容器的编号,通常用于批量删除容器使用--no-trunc:显示完整容器ID范例:显示当前运行的容器列表
命令:docker ps
可以看到我这里有两个容器在运行,一个是centos6一个是tomcat
2)docker start命令
该命令用于启动一个已经停止的容器
范例:启动一个已经停止的容器
命令:docker start 容器ID
3)docker stop命令
该命令用于停止一个正在运行的容器(优雅停止)
范例:关闭一个正在运行的容器
命令:docker stop 容器ID
4)docker restart命令
该命令用于重启一个已经停止的容器(优雅停止并启动)
该命令我就不演示了
5)docker kill命令
该命令用于停止一个正在运行的容器(强制停止)
该命令我就不演示了
6)docker rm命令
该命令用于删除一个容器,可以删除一个,也可以批量删除,和删除镜像差不多
语法:docker rm [OPTIONS] CONTAINER [CONTAINER...]
常用的OPTIONS:
-f:表示强制删除,如果容器正在运行则先停止运行再删除注意:最好是先停止容器,再删除容器
范例:删除一个正在运行的容器
命令:docker rm -f 容器ID
7)docker logs命令
该命令用于打印容器的日志信息,多用于后台守护容器
语法:docker logs [OPTIONS] CONTAINER
常用的OPTIONS:
-t:显示时间戳-f:跟随最新的日志打印--tail:显示最后的n行范例:打印tomcat运行日志最后3条
命令:docker logs -ft --tail 3 7319d64a93bb
8)docker top命令
该命令用于查询容器内的进程信息
范例:查询centos容器的进程信息
命令:docker top 容器ID
9)docker exec命令
该命令用于进入正在运行的容器中,并且以命令行进行交互
语法:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
注意:该命令中 COMMAND是必须要填写的
常用的OPTIONS:
-i:以交互模式运行容器,通常与-t配合使用-t:为容器重新分配一个伪输入终端,通常与-i配合使用范例:重新进入centos容器
语法:docker exec -it 容器ID /可爱的钢笔/bash
10)docker attach命令
该命令用于进入正在运行的容器中,并且以命令行进行交互
范例:重新进入centos容器
语法:docker attach 容器ID
docker exec命令与docker attach命令区别:
docker exec是在容器中打开新的终端,并且可以启动新的进程docker attach是直接进入容器启动命令的终端,不会启动新的进程11)docker cp命令
该命令用于从容器内拷贝文件至主机
语法:docker cp [OPTIONS] CONTAINER:PATH HOSTDIR|-
范例:拷贝容器文件至主机
命令:docker cp 容器ID:/tmp/yum.log /root