首页 运维 Docker docker中create与run的区别是什么

docker中create与run的区别是什么

Jan 10, 2022 am 10:26 AM
docker

在docker中,create命令与run命令都可以创建一个新的容器,区别就是create命令创建一个新的容器但是不启动它,而run命令创建一个新的容器会运行一个命令。

docker中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 images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              775349758637        5 weeks ago         64.2MB
登录后复制

现在,使用 docker create 命令创建一个名为 container-1 的新docker容器:

# docker create --name container-1 ubuntu
6a81a998658e9e0d3b612ee65b07d76a45d79812d860baf3f1cbc60fe997ebec
登录后复制

可以看到它已创建一个新容器。如果尝试查看所有正在运行的容器,则不会看到 container-1,因为尽管它已创建,但从未启动过。

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
登录后复制

如果检查所有容器,无论它们是否正在运行,都会看到 container-1 具有"已创建"状态:

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6a81a998658e        ubuntu              "/bin/bash"         18 seconds ago      Created                                 container-1
登录后复制

现在,让我们使用docker run 命令来创建并运行一个名为 container-2 的容器:

# docker run -it -d --name container-2 ubuntu bash
6391c1a0cac6c9f5fc6f5cfb05d75a22c208e63223c3b231035a40a4b134c521
登录后复制

您可以看到容器-2 正在运行,因为它的状态为"已启动":

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
6391c1a0cac6        ubuntu              "bash"              About a minute ago   Up About a minute                       container-2
登录后复制

让我们停止这个正在运行的容器:

# docker stop container-2
container-2
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
6391c1a0cac6        ubuntu              "bash"              2 minutes ago       Exited (0) 28 seconds ago                       container-2
6a81a998658e        ubuntu              "/bin/bash"         3 minutes ago       Created                                         container-1
登录后复制

现在我们有一个停止的容器,您可以使用docker start 命令再次启动它:

# docker start container-2
container-2
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6391c1a0cac6        ubuntu              "bash"              2 minutes ago       Up 2 seconds                            container-2
登录后复制

但是,使用 docker create 命令创建的 container-1 会发生什么情况呢?您可以使用 docker start 命令启动此容器,然后使用docker exec运行特定的东西。

推荐学习:《docker视频教程

以上是docker中create与run的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

docker镜像源怎么换国内 docker镜像源怎么换国内 Apr 15, 2025 am 11:30 AM

可切换到国内镜像源,步骤如下:1. 编辑配置文件 /etc/docker/daemon.json,添加镜像源地址;2. 保存退出后,重启 Docker 服务 sudo systemctl restart docker,即可提升镜像下载速度和稳定性。

docker怎么创建镜像 docker怎么创建镜像 Apr 15, 2025 am 11:27 AM

创建 Docker 镜像步骤:编写包含构建指令的 Dockerfile。在终端中构建镜像,使用 docker build 命令。标记镜像,使用 docker tag 命令分配名称和标签。

docker desktop怎么用 docker desktop怎么用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop?Docker Desktop 是一款工具,用于在本地机器上运行 Docker 容器。其使用步骤包括:1. 安装 Docker Desktop;2. 启动 Docker Desktop;3. 创建 Docker 镜像(使用 Dockerfile);4. 构建 Docker 镜像(使用 docker build);5. 运行 Docker 容器(使用 docker run)。

docker镜像怎么保存 docker镜像怎么保存 Apr 15, 2025 am 11:54 AM

在 Docker 中保存镜像,可以使用 docker commit 命令创建新的镜像,包含指定容器的当前状态,语法为:docker commit [选项] 容器ID 镜像名称。要保存镜像到仓库,可以使用 docker push 命令,语法为:docker push 镜像名称[:标签]。要导入已保存的镜像,可以使用 docker pull 命令,语法为:docker pull 镜像名称[:标签]。

docker怎么更新镜像 docker怎么更新镜像 Apr 15, 2025 pm 12:03 PM

更新 Docker 镜像的步骤如下:拉取最新镜像标记新镜像为特定标签删除旧镜像(可选)重新启动容器(如果需要)

docker lnmp怎么调用 docker lnmp怎么调用 Apr 15, 2025 am 11:15 AM

Docker LNMP 容器调用步骤:运行容器:docker run -d --name lnmp-container -p 80:80 -p 443:443 lnmp-stack获取容器 IP:docker inspect lnmp-container | grep IPAddress访问网站:http://<容器 IP>/index.phpSSH 访问:docker exec -it lnmp-container bash访问 MySQL:mysql -u roo

docker怎么搭建私有仓库 docker怎么搭建私有仓库 Apr 15, 2025 am 11:06 AM

您可以构建 Docker 私有仓库以安全地存储和管理容器镜像,提供严格的控制和安全性。步骤包括:创建存储库、授予访问权限、部署仓库、推送镜像和拉取镜像。优点包括安全性、版本控制、减少网络流量和定制化。

怎么运行docker命令 怎么运行docker命令 Apr 15, 2025 am 11:24 AM

如何运行 Docker 命令?安装 Docker并启动守护程序。常用 Docker 命令:docker images:显示镜像docker ps:显示容器docker run:运行容器docker stop:停止容器docker rm:删除容器使用 Docker 命令与容器交互:docker exec:执行命令docker attach:附加控制台docker logs:显示日志docker commit:提交更改为镜像停止 Docker 守护程序:sudo systemctl stop doc

See all articles