AIOps 平台的误解,挑战及建议(中),AIOps常见的误解
2938
2022-10-11
docker中create与run的区别是什么
在docker中,create命令与run命令都可以创建一个新的容器,区别就是create命令创建一个新的容器但是不启动它,而run命令创建一个新的容器会运行一个命令。
本教程操作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑
docker中create与run的区别是什么
以下是这些命令的用途:
docker create命令从 Docker 映像创建一个全新的容器。但是,它不会立即运行它。docker start命令将启动任何已停止的容器。如果使用 docker create命令创建容器,则可以使用此命令启动它。docker run 命令是创建和启动的组合,因为它创建了一个新容器并立即启动它。实际上,如果docker run命令在您的系统上找不到上述映像,它甚至可以从 Docker Hub 中提取映像。
让我们用例子来看看它,这样你就能更清楚地知道事情。
让我们通过示例来查看它
如果要遵循示例,请确保已安装 Docker。
假设您使用 docker pull ubuntu 命令从 Docker Hub 下载 Ubuntu 映像。
您可以查看系统上所有可用的 Docker 映像。在这个例子中,我只有ubuntu(为了避免混淆):
# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEubuntu latest 775349758637 5 weeks ago 64.2MB
现在,使用 docker create 命令创建一个名为 container-1 的新docker容器:
# docker create --name container-1 ubuntu6a81a998658e9e0d3b612ee65b07d76a45d79812d860baf3f1cbc60fe997ebec
可以看到它已创建一个新容器。如果尝试查看所有正在运行的容器,则不会看到 container-1,因为尽管它已创建,但从未启动过。
# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
如果检查所有容器,无论它们是否正在运行,都会看到 container-1 具有"已创建"状态:
# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES6a81a998658e ubuntu "/bin/bash" 18 seconds ago Created container-1
现在,让我们使用docker run 命令来创建并运行一个名为 container-2 的容器:
# docker run -it -d --name container-2 ubuntu bash6391c1a0cac6c9f5fc6f5cfb05d75a22c208e63223c3b231035a40a4b134c521
您可以看到容器-2 正在运行,因为它的状态为"已启动":
# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES6391c1a0cac6 ubuntu "bash" About a minute ago Up About a minute container-2
让我们停止这个正在运行的容器:
# docker stop container-2container-2# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES6391c1a0cac6 ubuntu "bash" 2 minutes ago Exited (0) 28 seconds ago container-26a81a998658e ubuntu "/bin/bash" 3 minutes ago Created container-1
现在我们有一个停止的容器,您可以使用docker start 命令再次启动它:
# docker start container-2container-2# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES6391c1a0cac6 ubuntu "bash" 2 minutes ago Up 2 seconds container-2
但是,使用 docker create 命令创建的 container-1 会发生什么情况呢?您可以使用 docker start 命令启动此容器,然后使用docker exec运行特定的东西。
推荐学习:《docker视频教程》
php入门到就业线上直播课:查看学习
发表评论
暂时没有评论,来抢沙发吧~