文章目录
- 概述
- docker create
- 语法
- 实例
- docker exec
- 语法
- 示例
- docker run、docker exec 和 docker create比较
- docker run
- docker exec
- docker create
- 总结
概述
用于学习和记录,以下内容来自chatgpt3.5,网络等,补充例子。
本文介绍了docker create
,docker exec
,以及docker run
、docker exec
和 docker create
之间的区别和联系。
docker系列其他文章:docker专栏
docker run
文章请查看:
docker基础(四)之docker run(第一弹)
docker基础(五)之docker run(第二弹)
docker create
创建一个新的容器但不启动它
用法同 docker run
语法
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
语法同 docker run
实例
使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob
docker create --name myrunoob nginx:latest
docker exec
docker exec
:在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d
:分离模式: 在后台运行-i
:即使没有附加也保持STDIN 打开-t
:分配一个伪终端docker exec
命令用于在正在运行的容器中执行命令。
示例
开启伪终端
docker exec -i -t my_container bash
这个命令将会在名为my_container
的容器中执行 bash
命令,并且分配一个伪终端,使得用户可以与容器进行交互。
在容器内部运行一个简单的命令:
docker exec my_container ls -l
这个命令将会在名为 my_container 的容器中执行 ls -l 命令来列出容器内的文件和目录。
使用场景
docker run、docker exec 和 docker create比较
docker run
、docker exec
和 docker create
是 Docker
中常用的命令,它们分别有不同的作用和使用场景:
docker run
用于创建并启动一个新的容器。这个命令是在创建新容器时最常用的命令。通过 docker run
,你可以指定镜像、端口映射、环境变量等容器运行所需的配置选项。使用 docker run
可以创建一个全新的容器并在其中运行指定的应用程序。
使用场景:
当你需要启动一个新的容器并运行一个应用程序时,通常会使用 docker run。
docker exec
用于在正在运行的容器中执行命令。 这个命令允许你进入一个已经运行的容器内部,并在其中执行特定的命令,或启动伪终端之后执行命令。
使用场景:
当容器已经在运行中,你需要在其内部执行特定的命令,或者需要进行调试和排查问题时,可以使用 docker exec
。
docker create
用于创建一个新的容器但不启动它。 这个命令会创建一个新的容器,但是容器并不会自动启动,你需要在之后手动启动这个容器
使用场景:
当你需要创建一个容器但不希望立刻启动它时,你可以使用 docker create。这种情况可能发生在你需要在以后的某个时间点手动启动容器,或者需要预先创建容器并在稍后进行配置后再启动。
总结
docker run 和 docker create 都可以从镜像创建新的容器。区别为,前者 创建并启动。后者创建但不启动。
docker exec 不能创建新容器,只能在已经创建的容器,且这个容器在运行状态下,执行命令或者启动伪终端执行命令。