docker学习笔记2:容器操作

Posted 51kata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker学习笔记2:容器操作相关的知识,希望对你有一定的参考价值。

一、列出主机上已经创建的容器

docker ps -a

 

二、创建交互式容器

命令: docker run -i -t ubuntu /bin/bash

其中-i -t 表示创建一个提供交互式shell的容器。

ubuntu是镜像名,如果本地不存在,回到仓库中下载。

/bin/bash 是指定容器创建后立即执行的命令。

注意:每个容器都有一个唯一的ID,作为容器的标识。每个容器也有个唯一的名称,在用docker run命令创建时可以通过 --name 名称 来指定,如果不指定,系统会自动产生一个名称。

如: docker run --name  mycontainer   -i -t ubuntu /bin/bash

对于交互式容器,当退出shell后,容器会关闭。 后面可以通过命令重新启动容器。

 

三、启动/停止容器

如果一个容器已经停止,可以执行如下docker start命令重新启动容器,参数可以是容器的ID 或容器的名称。

docker start 3d72d0283dc8

执行后返回容器的ID

注意,如果指定的容器已经处于启动状态,上述命令只是返回容器ID,不会重新启动容器。

如果要想重启已经启动的容器,可以用 docker restart命令

如果要停止一个运行的容器,可以用 docker stop命令

 

四、附着到交互式容器上

当重新启动容器时,会沿用创建容器(docker run)命令时指定的参数来运行。如果创建容器时,指定了shell。

重启容器时,可以用 docker attach命令附着到容器上,当执行docker attach命令时(可能需要敲下回车键),就回到了容器的bash提示符,

这时就已经相当于在容器内部了的shell操作了。如果操作过程中,退出了shell。容器也会随之停止。

所以这种容器一般是完成特定任务的,不适合运行服务程序。

 

五、创建守护式容器

这种容器指容器可以长期一直运行,没有交互式会话,非常适合容器中运行后台应用程序和服务(如数据库服务、web服务器等)。

 例子:

docker run --name mydaemon -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"

上述语句利用-d标识创建了一个守护式容器,该容器启动了一个shell,循环打印一个信息,保证shell不退出。

可以通过docker logs命令来获取容器的日志

还可以通过 docker top 命令来查看容器内当前运行的进程信息。

 

六、与守护式容器交互

可以通过docker exec命令在容器内部额外启动新进程。

如在主机中,执行语句 docker exec -t -i mydaemon /bin/bash

则会出现一个shell会话(容器内的,不是主机的),这样就可以和容器进行交互了,可以完成自己想要的操作。

  

七、删除容器

命令:docker rm ID/NAME

注意,运行中的容器是无法被删除的。

以上是关于docker学习笔记2:容器操作的主要内容,如果未能解决你的问题,请参考以下文章

Docker 学习笔记Docker 相关概念,基本操作

Docker学习笔记——Docker安装启动

Docker学习笔记——Docker安装启动

docker学习笔记:修改无法启动的容器中的内容

Docker学习笔记.初识Docker

Docker学习笔记.初识Docker