首页 专题 文章 代码 归档
Docker 命令-容器相关
2020.03.18 20:01 2020.03.18 20:09

1. 容器命令

容器是docker比较重要的一个东西,可以把它理解为运行的实例;

一个运行在docker的mysql是一个实例,一个Nginx同样是一个实例;

而容器时通过不同的镜像创建出来的,一个镜像可以创建n个容器(也即实例);


下面来学习一下常用的容器命令吧!

1.1. 创建容器

1、docker run 镜像名

docker run nginx

创建并运行容器命令,如果docker主机已经下载过tomcat,则该命令会直接创建一个tomcat的容器实例,否则会先去hub端拉取该tomcat镜像,默认是 :latest最新版,然后在运行镜像且生成一个tomcat容器实例对象。


2、docker run -it 镜像名

docker run -i -t centos

-i : 表示创建要给交互式容器

-t:表示运行容器的同时创建一个伪终端,一般与 -i 一起使用

该命令的意思就是 创建一个名叫centos 的镜像对应的容器实例对象,并开启一个终端与之交互,例如 centos c = new centos();

镜像名centos是类,而运行时创建的容器 c 就是实例化的一个对象,注意这里的 c 是docker命令的,我们可以修改 c,自己设置


3、docker run -it --name 别名 镜像名

docker run -it --name mycentos centos

--name : 自定义容器别名

1.2. 查看容器

1、docker ps

docker ps

查看当前正在运行的容器对象,注意这里只显示 这个在运行中的容器信息,显示内容字段如下:

  • CONTAINER ID : 容器唯一id
  • IMAGE : 对应镜像名
  • COMMAND:启动方式
  • CREATED:创建时间
  • STATUS:当前状态
  • PORTS:占用端口
  • NAMES:容器名称(别名)

2、docker ps -l(小写的L)

docker ps -l

-l(小写的L) : 默认的查看只会查看正在运行中的容器信息,而ps -l 会显示最近运行的一条容器信息


3、docker ps -a

docker ps -a

-a : 显示所有运行过的镜像信息


4、docker ps -q

docker ps -q

-q :表示只显示对应的容器id 信息

1.3. 退出容器

1、exit

离开容器,并关闭容器,这种好比 要出门了,且要关灯,只有等下次重新启动该容器后,才会再次打开灯

2、Ctrl + p + q

暂时离开容器,还会回来,这种好比 临时出门,下去买包烟就回来,此时状态容器状态还是 up 运行中

1.4. 启动容器

docker start 容器id

这里需要注意不是每次都是重新根据镜像生成一个容器对象(docker run),而是将以往创建并启动过的容器再次运行起来;

可以先通过 docker ps -a 命令 获取运行过的容器信息,选择要启动的容器进行启动即可,还要注意这个命令只会启动容器,而不会再次打开且进入终端(这时可以使用docker attachdocker exec等命令进入)

1.5. 重启容器

docker restart 容器id

重新启动容器服务!

1.6. 停止容器

docker stop 容器id

这种停止方式比较温柔,会等待容器慢慢关闭,例如电脑关机,慢慢关机

docker kill 容器id

这种方式比较粗暴,但是速度快,直接结束线程,好比电脑直接长按关机

1.7. 删除容器

docker rm 容器id

删除一个未运行的容器对象,支持多条删除,但是删除的容器id还未停止,则会删除异常

docker rm -f 容器id

-f : 强制删除,包括正在运行的容器也可以强制删除,支持多条删除

docker rm -f $(docker ps -aq)

组合命令,删除全部的容器信息!

1.8. 进入容器

docker attach 容器id

attach:可以再次进入该容器的伪终端控制台

docker exec -it 容器id

exec:该命令,可以实现不需要进入容器终端进行交互,可以在宿主机与容器进行交互,

-it : 表明执行一个交互式的伪终端方式进入到容器中

1.9. 查看容器日志

docker logs 容器id

查看该容器的日志信息

docker logs -f 容器id

-f :跟随打印最新的日志追加在最后面

docker logs -t 容器id

-t : 显示日志打印的时间戳

docker logs --tail 数量 容器id

–tail 数量:只显示最新的指定数量的几条日志信息

1.10. 其他命令

docker查看容器内运行的线程

docker top 容器id

docker查看容器的内部细节

docker inspect 容器id

docker将容器中的信息拷贝到宿主机

docker cp a57faaef1751:/tmp/yum.log ./aa.log

cp:通过cp命令,将a57faaef1751容器中的 tmp目录下的yum.log文件,复制到宿主机的当前目录下,命名为aa.log

docker提交自定义镜像

docker commit -a=作者名 -m=描述信息 原容器id 新容器名称

commit:提交镜像,将容器id对应的镜像修改后,使用commit生产 自定义镜像

lonely/mytomcat 表示镜像名

1.0 : 表示镜像版本

-a= : 表明作者

-m=:新镜像的描述信息

本节阅读完毕! (分享
二维码图片 扫描关注我们哟