跳到主要内容

Docker 容器创建

介绍

Docker 是一个开源平台,用于自动化应用程序的部署、扩展和管理。它通过容器化技术将应用程序及其依赖项打包在一起,确保在任何环境中都能一致运行。容器是轻量级的、可移植的,并且与主机系统隔离,这使得它们非常适合开发和部署。

在本教程中,我们将学习如何使用 Docker 创建容器。我们将从基本命令开始,逐步深入,最后通过实际案例展示如何在实际场景中使用这些知识。

前提条件

在开始之前,请确保你已经安装了 Docker。你可以通过以下命令检查 Docker 是否已安装:

bash
docker --version

如果 Docker 已安装,你将看到类似以下的输出:

bash
Docker version 20.10.7, build f0df350

如果没有安装,请参考 Docker 官方文档 进行安装。

创建 Docker 容器

1. 拉取镜像

在创建容器之前,我们需要一个 Docker 镜像。镜像是容器的模板,包含了运行应用程序所需的所有文件和依赖项。

你可以使用 docker pull 命令从 Docker Hub 拉取一个镜像。例如,拉取官方的 nginx 镜像:

bash
docker pull nginx

拉取完成后,你可以使用以下命令查看本地镜像列表:

bash
docker images

输出将显示类似以下内容:

bash
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx latest 4cdc5dd7eaad 2 weeks ago 133MB

2. 创建容器

有了镜像后,我们可以使用 docker run 命令创建一个容器。以下是一个简单的例子:

bash
docker run --name my-nginx -d nginx
  • --name my-nginx:为容器指定一个名称,这里是 my-nginx
  • -d:以“分离模式”运行容器,即在后台运行。
  • nginx:指定要使用的镜像。

运行后,你可以使用以下命令查看正在运行的容器:

bash
docker ps

输出将显示类似以下内容:

bash
CONTAINER ID   IMAGE   COMMAND                  CREATED         STATUS         PORTS     NAMES
a1b2c3d4e5f6 nginx "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 80/tcp my-nginx

3. 进入容器

有时你可能需要进入容器内部进行操作。可以使用 docker exec 命令:

bash
docker exec -it my-nginx /bin/bash
  • -it:以交互模式运行,并分配一个伪终端。
  • my-nginx:容器名称。
  • /bin/bash:在容器内运行的命令,这里是启动一个 Bash shell。

进入容器后,你可以像在普通 Linux 系统中一样执行命令。退出容器时,只需输入 exit

4. 停止和删除容器

要停止正在运行的容器,可以使用 docker stop 命令:

bash
docker stop my-nginx

要删除已停止的容器,可以使用 docker rm 命令:

bash
docker rm my-nginx

实际案例

假设你正在开发一个 Web 应用程序,并希望使用 Docker 来运行你的应用程序。以下是一个简单的案例:

  1. 创建一个 Dockerfile,定义你的应用程序环境:
dockerfile
FROM node:14
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["node", "app.js"]
  1. 构建镜像:
bash
docker build -t my-web-app .
  1. 运行容器:
bash
docker run --name my-app -d -p 3000:3000 my-web-app
  • -p 3000:3000:将主机的 3000 端口映射到容器的 3000 端口。

现在,你的应用程序将在 http://localhost:3000 上运行。

总结

在本教程中,我们学习了如何使用 Docker 创建容器。我们从拉取镜像开始,逐步讲解了如何创建、进入、停止和删除容器。最后,我们通过一个实际案例展示了如何在实际开发中使用 Docker。

附加资源

练习

  1. 拉取 ubuntu 镜像并创建一个名为 my-ubuntu 的容器。
  2. 进入 my-ubuntu 容器并安装 curl
  3. 停止并删除 my-ubuntu 容器。

通过完成这些练习,你将更深入地理解 Docker 容器的创建和管理。