启动示例 Compose 项目
在本步骤中,我们将学习如何启动一个示例 Compose 项目。在使用 Docker Compose 之前,需要先安装它。由于 LabEx 的 VM 环境没有预装 Docker Compose,我们需要先进行安装。
我们将下载 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 版本来验证安装是否成功。
docker-compose --version
你应该能在控制台看到版本信息,这表示 Docker Compose 已正确安装。
现在,让我们创建一个简单的 Compose 项目。首先为项目创建目录,然后在其中创建 docker-compose.yml
文件。该文件将定义我们应用程序的服务。
首先创建一个名为 my-compose-app
的目录。
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
接下来,使用 nano
编辑器在 ~/project/my-compose-app
目录下创建 docker-compose.yml
文件。
nano docker-compose.yml
将以下内容添加到 docker-compose.yml
文件中。该文件定义了一个名为 web
的服务,使用 nginx
镜像。
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
保存文件并退出 nano
编辑器(按 Ctrl + X
,然后按 Y
,最后按 Enter
)。
在启动服务之前,需要确保本地有 nginx:latest
镜像。可以使用 docker pull
命令拉取该镜像。
docker pull nginx:latest
现在我们有了 docker-compose.yml
文件和所需的镜像,可以使用 docker-compose up
命令启动 Compose 项目。-d
参数表示以分离模式运行服务,即在后台运行。
docker-compose up -d
该命令将根据 docker-compose.yml
文件创建并启动 web
服务。你应该能看到服务正在创建和启动的输出信息。
要验证服务是否正在运行,可以使用 docker ps
命令列出运行中的容器。你应该能看到 web
服务的容器。
docker ps
你也可以通过浏览器访问 LabEx VM 的 IP 地址来访问 Nginx 服务器。由于我们将容器的 80 端口映射到了主机的 80 端口,你应该能看到默认的 Nginx 欢迎页面。