Docker 容器启动停止
介绍
Docker 是一个用于开发、发布和运行应用程序的开源平台。它通过容器化技术,将应用程序及其依赖项打包在一起,确保在任何环境中都能一致运行。容器的启动和停止是 Docker 中最基本的操作之一,掌握这些操作是使用 Docker 的基础。
在本教程中,我们将逐步讲解如何启动和停止 Docker 容器,并通过实际案例展示这些操作的应用场景。
启动 Docker 容器
要启动一个 Docker 容器,可以使用 docker run
命令。这个命令会从指定的镜像创建一个新的容器并启动它。
基本语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS
:可选参数,用于配置容器的行为。IMAGE
:要使用的 Docker 镜像。COMMAND
:容器启动后要执行的命令。ARG...
:传递给命令的参数。
示例
假设我们有一个名为 my-app
的 Docker 镜像,我们可以使用以下命令启动一个容器:
docker run my-app
这个命令会从 my-app
镜像创建一个新的容器并启动它。如果镜像不存在于本地,Docker 会尝试从 Docker Hub 下载它。
后台运行容器
默认情况下,docker run
命令会在前台运行容器。如果你希望容器在后台运行,可以使用 -d
选项:
docker run -d my-app
指定容器名称
你可以使用 --name
选项为容器指定一个名称:
docker run --name my-container my-app
这样,你就可以通过名称来引用容器,而不是使用自动生成的容器 ID。
停止 Docker 容器
要停止一个正在运行的 Docker 容器,可以使用 docker stop
命令。
基本语法
docker stop [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS
:可选参数。CONTAINER
:要停止的容器的名称或 ID。
示例
假设我们有一个名为 my-container
的容器,我们可以使用以下命令停止它:
docker stop my-container
这个命令会向容器发送一个停止信号,并等待容器优雅地停止。如果容器没有在指定的时间内停止,Docker 会强制终止它。
强制停止容器
如果你需要立即停止容器,可以使用 docker kill
命令:
docker kill my-container
这个命令会立即终止容器,而不会等待它优雅地停止。
实际案例
案例 1:启动一个 Web 服务器
假设你有一个基于 Nginx 的 Web 服务器镜像 my-nginx
,你可以使用以下命令启动一个容器:
docker run -d -p 8080:80 --name my-web-server my-nginx
这个命令会在后台启动一个名为 my-web-server
的容器,并将容器的 80 端口映射到主机的 8080 端口。你可以通过访问 http://localhost:8080
来访问这个 Web 服务器。
案例 2:停止一个数据库容器
假设你有一个名为 my-db
的 MySQL 数据库容器,你可以使用以下命令停止它:
docker stop my-db
这个命令会停止 my-db
容器,确保数据库在停止前完成所有未完成的事务。
总结
在本教程中,我们学习了如何启动和停止 Docker 容器。我们介绍了 docker run
和 docker stop
命令的基本用法,并通过实际案例展示了这些操作的应用场景。
掌握这些基本操作是使用 Docker 的基础,希望你能通过本教程更好地理解和使用 Docker。
附加资源
练习
- 使用
docker run
命令启动一个基于alpine
镜像的容器,并在容器中运行echo "Hello, Docker!"
命令。 - 启动一个后台运行的 Nginx 容器,并将容器的 80 端口映射到主机的 8080 端口。
- 停止你在练习 2 中启动的 Nginx 容器。
通过完成这些练习,你将进一步巩固对 Docker 容器启动和停止操作的理解。