启动示例 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 欢迎页面。