Docker 第一个容器
介绍
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。通过 Docker,你可以确保应用程序在任何环境中都能以相同的方式运行。本文将带你从零开始,创建并运行你的第一个 Docker 容器。
什么是容器?
容器是一种轻量级的虚拟化技术,它将应用程序及其依赖项打包在一起,使其可以在任何支持 Docker 的环境中运行。与传统的虚拟机不同,容器共享宿主机的操作系统内核,因此更加高效和快速。
安装 Docker
在开始之前,你需要确保已经在你的系统上安装了 Docker。你可以通过以下命令检查 Docker 是否已安装:
docker --version
如果 Docker 已安装,你将看到类似以下的输出:
Docker version 20.10.7, build f0df350
如果 Docker 未安装,请参考 Docker 官方文档 进行安装。
创建第一个容器
1. 拉取镜像
Docker 容器是基于镜像创建的。镜像是一个只读模板,包含了运行应用程序所需的所有文件和依赖项。你可以从 Docker Hub 拉取一个现成的镜像,也可以自己创建。
让我们从 Docker Hub 拉取一个简单的 hello-world
镜像:
docker pull hello-world
2. 运行容器
拉取镜像后,你可以使用以下命令运行容器:
docker run hello-world
运行后,你将看到类似以下的输出:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
3. 理解 docker run
命令
docker run
命令是 Docker 中最常用的命令之一。它做了以下几件事:
- 检查本地是否存在指定的镜像,如果不存在则从 Docker Hub 拉取。
- 基于该镜像创建一个新的容器。
- 启动容器并执行指定的命令。
4. 查看运行中的容器
你可以使用以下命令查看当前正在运行的容器:
docker ps
由于 hello-world
容器在输出消息后立即退出,你可能看不到任何输出。要查看所有容器(包括已停止的),可以使用:
docker ps -a
5. 删除容器
如果你不再需要某个容器,可以使用以下命令将其删除:
docker rm <container_id>
其中 <container_id>
是容器的 ID,你可以通过 docker ps -a
命令获取。
实际案例:运行一个 Nginx 容器
让我们通过一个实际案例来进一步理解 Docker 容器的使用。我们将运行一个 Nginx 容器,这是一个流行的 Web 服务器。
1. 拉取 Nginx 镜像
docker pull nginx
2. 运行 Nginx 容器
docker run -d -p 8080:80 nginx
-d
选项表示在后台运行容器(detached mode)。-p 8080:80
选项将宿主机的 8080 端口映射到容器的 80 端口。
3. 访问 Nginx
打开浏览器并访问 http://localhost:8080
,你将看到 Nginx 的欢迎页面。
4. 停止和删除容器
你可以使用以下命令停止容器:
docker stop <container_id>
然后删除容器:
docker rm <container_id>
总结
通过本文,你已经学会了如何创建并运行你的第一个 Docker 容器。我们从基础概念入手,逐步讲解了如何拉取镜像、运行容器、查看容器状态以及删除容器。我们还通过一个实际案例展示了如何运行一个 Nginx 容器。
附加资源
练习
- 尝试拉取并运行其他镜像,如
ubuntu
或redis
。 - 使用
docker logs
命令查看容器的日志输出。 - 尝试使用
docker exec
命令进入正在运行的容器并执行命令。
祝你学习愉快!