在 Docker 核心概念理解 一文中,我们知道 Docker容器
其实就是一个轻量级的沙盒,应用运行在不同的容器中从而实现隔离效果。容器的创建和运行是以镜像为基础的,容器可以被创建、销毁、启动和停止等。本文将介绍下容器的这些常用操作命令。
docker run
命令表示新建并运行容器,它等同于 docker create
命令 + docker start
命令 的融合。
docker run
命令的基本格式为:
docker run [设置参数] [镜像名/ID]
docker run
命令有许多可选的设置参数,这些设置参数主要用来设置容器的运行状态,通过 docker run --help
我们可以通过帮助指引来查看其支持哪些参数。这里介绍3个比较常用的参数:
-it
:是 -i
和 -t
两个参数的融合体, -i
则让容器的标准输入保持打开;-t
则让Docker分配一个伪终端并绑定到容器的标准输入上。通俗地讲,-it
参数就是让 Docker
容器开启一个交互式操作的Shell
终端,这样我们就可以进入到容器内来操作它,类似于我们登录虚拟机一样。-d
:让容器在后台运行,在启动Nginx等中间件时比较有用。--name
:给容器命名,如果不设置,Docker
会随机分配一个名字运行nginx
和redis
,通过-d参数使其在后台运行,运行ubuntu
通过–name参数我们指定了容器名字为 my_ubuntu
并且 通过 -it
参数进入到ubuntu
并开启Shell
终端。
docker run -d nginx
docker run -d redis
docker run -it --name ubuntu my_ubuntu
另开启一个终端窗口,通过 docker ps
命令查看所有的容器及其运行状态。CONTAINER ID
标识容器的唯一ID
,IMAGE
表示镜像名称,PORTS
表示使用端口,NAMES
是容器的名称,注意看,my_ubuntu
是我们通过 --name
自定义命名的名称,其他的是Docker
生成的名称。
执行 docker run -it --name my_ubuntu ubuntu
命令由于 -it 参数,会开启Shell
终端,如下:
docker run -it --name my_ubuntu ubuntu
9dc05cf19a5745c33b9327dba850480dae80310972dea9b05052162e7c7f2763
root@7bcc1310c4b6:/#
docker exec
命令可以进入到正在运行的容器中,执行容器中的另一个程序,docker exec
和 docker run
命令相似,只不过 docker exec
并不会创建新的容器了,因为容器已经创建过了。
docker exec
命令格式为:
docker run [设置参数] [镜像名/ID] [命令]
下面我们通过 docker ps
查看所有容器,然后通过 docker exec -it my_ubuntu sh
命令我们进入到 my_ubuntu
命名的容器中,进入到容器中以后,我们就可以查看运行状态等信息了。
docker stop
命令可以强制停止容器。docker stop
命令的格式为:
docker stop [容器名称/CONTAINER ID前三位字符]
我们可以通过容器名称停止,或者CONTAINER ID
前三位字符也可以停止容器。
通过 docker stop my_ubuntu
停止 命名为 my_ubuntu
的容器,容器停止后,通过 docker ps 命令就查不到了。
通过 docker stop 67d
停止 CONTAINER ID
前三位字符的容器,这里也就是 redis
,容器停止后,通过 docker ps 命令就查不到了。
查看所有容器,包括运行和停止状态的。
通过 docker ps -a
命令,我们可以查看所有容器,包括运行和停止状态的。
docker ps -a
我们看到ubuntu
和 redis
已经停止了,nginx
还在运行中。
1)docker start
:启动一个停止的容器。同样可以通过容器名称和CONTAINER ID
前三位字符来指定容器。
docker start my_ubuntu
这里我们通过容器名称启动已经停止的容器。
docker start 67d
通过容器CONTAINER ID
前三位字符启动已经停止的容器。
2) docker restart
:重启一个容器。
docker restart
可以重启一个容器,同样可以使用容器名称和容器CONTAINER ID
前三位字符指定容器。
docker restart 67d
docker rm
命令可以删除容器,注意删除容器前,需要先停止容器,否则会报错哦~
docker rm
命令 通过指定 CONTAINER ID
前两位字符来删除指定容器。
这里我们 指定 CONTAINER ID
前两位字符 67
来删除 redis
容器
docker rm 67
删除容器前,注意需要先停止容器哦~
如果喜欢这篇文章,点赞 收藏⭐ 关注 ✅ 哦,创作不易,感谢!