准备一个简单的 Docker Compose 项目
在这一步中,我们将准备一个简单的 Docker Compose 项目。由于 LabEx 环境没有预装 Docker Compose,我们需要先安装它。Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过 Compose,你可以使用 YAML 文件来配置应用服务,然后只需一条命令就能根据配置创建并启动所有服务。
首先,我们来安装 Docker Compose。我们将下载最新稳定版本并赋予可执行权限。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
安装完成后,通过检查版本来验证安装是否成功。
docker-compose --version
你应该能在输出中看到版本号,这表示 Docker Compose 已正确安装。
现在,让我们创建一个简单的 Docker Compose 项目。我们将为项目创建一个目录,然后在其中创建 docker-compose.yml
文件。该文件将使用 nginx
镜像定义一个简单的 web 服务。
进入项目目录:
cd ~/project
为我们的项目创建一个新目录,例如 my-web-app
:
mkdir my-web-app
cd my-web-app
现在,使用 nano
编辑器创建 docker-compose.yml
文件:
nano docker-compose.yml
将以下内容添加到 docker-compose.yml
文件中:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
这个 docker-compose.yml
文件定义了一个名为 web
的服务。该服务使用 nginx:latest
Docker 镜像,并将主机的 80 端口映射到容器的 80 端口。
按 Ctrl + X
,然后按 Y
和 Enter
保存文件。
现在,我们可以使用 docker-compose up
命令启动 docker-compose.yml
文件中定义的服务。-d
参数表示以分离模式运行容器,即容器将在后台运行。
docker-compose up -d
该命令将拉取 nginx:latest
镜像(如果尚未存在),并为 web
服务启动一个容器。
你可以使用 docker ps
命令检查运行中的容器状态:
docker ps
你应该能看到一个名为 my-web-app_web_1
(或类似名称,取决于目录名)的容器正在运行,并转发 80 端口。
要验证 web 服务器是否正常运行,可以使用 curl
访问它:
curl http://localhost
你应该能在输出中看到默认的 Nginx 欢迎页面 HTML。这确认了我们的简单 Docker Compose 项目已正确设置并运行。