推荐答案
// www.javascriptcn.com code example ## 推荐答案 - **`docker run`**: 用于从镜像创建并启动一个新的容器。如果本地没有该镜像,Docker 会先从仓库拉取镜像。可以通过 `docker run` 指定容器的名称、端口映射、环境变量等。 - **`docker start`**: 用于启动一个已经停止的容器。与 `docker run` 不同,`docker start` 不会创建新的容器,而是重新启动已经存在的容器。 - **`docker stop`**: 用于停止一个正在运行的容器。Docker 会发送一个 SIGTERM 信号给容器的主进程,允许容器优雅地关闭。如果容器在指定时间内没有停止,Docker 会发送 SIGKILL 信号强制停止容器。 - **`docker restart`**: 用于重启一个正在运行的容器。它实际上是先执行 `docker stop`,然后再执行 `docker start`。 - **`docker kill`**: 用于强制停止一个正在运行的容器。与 `docker stop` 不同,`docker kill` 会直接发送 SIGKILL 信号给容器的主进程,强制终止容器运行。
本题详细解读
// www.javascriptcn.com code example ## 本题详细解读 ### `docker run` `docker run` 是 Docker 中最常用的命令之一。它用于从指定的镜像创建并启动一个新的容器。如果本地没有该镜像,Docker 会先从 Docker Hub 或其他配置的镜像仓库中拉取镜像。`docker run` 命令可以接受多个参数来配置容器的行为,例如: - `--name`: 为容器指定一个名称。 - `-p`: 映射容器的端口到主机的端口。 - `-e`: 设置环境变量。 - `-d`: 以守护进程模式运行容器(后台运行)。 例如: ```bash docker run -d --name my_container -p 8080:80 nginx
这个命令会从 nginx 镜像创建一个名为 my_container 的容器,并将容器的 80 端口映射到主机的 8080 端口。
docker start
docker start 用于启动一个已经停止的容器。与 docker run 不同,docker start 不会创建新的容器,而是重新启动已经存在的容器。你可以通过容器的名称或 ID 来启动它。
例如:
docker start my_container
这个命令会启动名为 my_container 的容器。
docker stop
docker stop 用于停止一个正在运行的容器。Docker 会发送一个 SIGTERM 信号给容器的主进程,允许容器优雅地关闭。如果容器在指定时间内没有停止,Docker 会发送 SIGKILL 信号强制停止容器。你可以通过容器的名称或 ID 来停止它。
例如:
docker stop my_container
这个命令会停止名为 my_container 的容器。
docker restart
docker restart 用于重启一个正在运行的容器。它实际上是先执行 docker stop,然后再执行 docker start。你可以通过容器的名称或 ID 来重启它。
例如:
docker restart my_container
这个命令会重启名为 my_container 的容器。
docker kill
docker kill 用于强制停止一个正在运行的容器。与 docker stop 不同,docker kill 会直接发送 SIGKILL 信号给容器的主进程,强制终止容器运行。你可以通过容器的名称或 ID 来强制停止它。
例如:
docker kill my_container
这个命令会强制停止名为 my_container 的容器。
```