跳到主要内容

Docker 第一个容器

介绍

Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。通过 Docker,你可以确保应用程序在任何环境中都能以相同的方式运行。本文将带你从零开始,创建并运行你的第一个 Docker 容器。

什么是容器?

容器是一种轻量级的虚拟化技术,它将应用程序及其依赖项打包在一起,使其可以在任何支持 Docker 的环境中运行。与传统的虚拟机不同,容器共享宿主机的操作系统内核,因此更加高效和快速。

安装 Docker

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

bash
docker --version

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

bash
Docker version 20.10.7, build f0df350

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

创建第一个容器

1. 拉取镜像

Docker 容器是基于镜像创建的。镜像是一个只读模板,包含了运行应用程序所需的所有文件和依赖项。你可以从 Docker Hub 拉取一个现成的镜像,也可以自己创建。

让我们从 Docker Hub 拉取一个简单的 hello-world 镜像:

bash
docker pull hello-world

2. 运行容器

拉取镜像后,你可以使用以下命令运行容器:

bash
docker run hello-world

运行后,你将看到类似以下的输出:

bash
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

3. 理解 docker run 命令

docker run 命令是 Docker 中最常用的命令之一。它做了以下几件事:

  1. 检查本地是否存在指定的镜像,如果不存在则从 Docker Hub 拉取。
  2. 基于该镜像创建一个新的容器。
  3. 启动容器并执行指定的命令。

4. 查看运行中的容器

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

bash
docker ps

由于 hello-world 容器在输出消息后立即退出,你可能看不到任何输出。要查看所有容器(包括已停止的),可以使用:

bash
docker ps -a

5. 删除容器

如果你不再需要某个容器,可以使用以下命令将其删除:

bash
docker rm <container_id>

其中 <container_id> 是容器的 ID,你可以通过 docker ps -a 命令获取。

实际案例:运行一个 Nginx 容器

让我们通过一个实际案例来进一步理解 Docker 容器的使用。我们将运行一个 Nginx 容器,这是一个流行的 Web 服务器。

1. 拉取 Nginx 镜像

bash
docker pull nginx

2. 运行 Nginx 容器

bash
docker run -d -p 8080:80 nginx
  • -d 选项表示在后台运行容器(detached mode)。
  • -p 8080:80 选项将宿主机的 8080 端口映射到容器的 80 端口。

3. 访问 Nginx

打开浏览器并访问 http://localhost:8080,你将看到 Nginx 的欢迎页面。

4. 停止和删除容器

你可以使用以下命令停止容器:

bash
docker stop <container_id>

然后删除容器:

bash
docker rm <container_id>

总结

通过本文,你已经学会了如何创建并运行你的第一个 Docker 容器。我们从基础概念入手,逐步讲解了如何拉取镜像、运行容器、查看容器状态以及删除容器。我们还通过一个实际案例展示了如何运行一个 Nginx 容器。

附加资源

练习

  1. 尝试拉取并运行其他镜像,如 ubunturedis
  2. 使用 docker logs 命令查看容器的日志输出。
  3. 尝试使用 docker exec 命令进入正在运行的容器并执行命令。

祝你学习愉快!