一、安装 Docker
Docker Compose 依赖于 Docker 环境,因此在安装 Docker Compose 之前,需要先安装 Docker。
如果你还没有安装 Docker,请参考以下步骤:
1.1、 在 Docker 官网 上下载 Docker 安装程序并安装;
1.2、 安装完成后,验证 Docker 是否正确安装:
docker --version
如果正确安装,将会显示 Docker 版本信息。
二、安装 Docker Compose
在安装 Docker Compose 之前,需要确认你的系统是否支持 Docker Compose,官方支持以下几个平台:
- Linux 64 位
- macOS 64 位
- Windows 64 位
如果你的系统符合要求,请按照以下步骤安装 Docker Compose:
2.1、下载 Docker Compose 最新版本:
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/{VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
注意将 {VERSION}
替换为你要下载的 Docker Compose 版本。版本查询可点击 Docker Compose 官网查看
2.2、将下载的二进制文件设置为可执行文件:
sudo chmod +x /usr/local/bin/docker-compose
2.3、验证 Docker Compose 是否安装成功:
进入到 /usr/local/bin/ 目录下,执行以下命令:
docker compose version
如果正确安装,将会显示 Docker Compose 版本信息。
三、使用 Docker Compose
安装完成 Docker Compose 后,你可以使用它来管理多容器 Docker 应用程序。
下面是一个使用 Docker Compose 运行 Nginx 和 PHP-FPM 的示例:
3.1、创建一个目录用于存放 Docker Compose 配置文件:
mkdir myapp
cd myapp
3.2、创建一个 docker-compose.yml
文件,内容如下:
ompose和Docker兼容性:
Compose 文件格式有3个版本,分别为1, 2.x 和 3.x
目前主流的为 3.x 其支持 docker 1.13.0 及其以上的版本
version: '3' # 指定 compose 文件的版本
services: # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称
web: # 定义一个名为 web 的 service
image: nginx # 定义使用的镜像
ports: # 定义容器和宿主机的端口映射关系
- "8080:80"
volumes: # 定义容器和宿主机的卷映射关系
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on: # 定义容器启动的依赖关系
- php
php:
image: php:fpm
volumes:
- ./app:/var/www/html
这个文件定义了两个服务:web
和 php
。web
服务使用 Nginx 镜像,并将它的端口映射到主机的 8080 端口,同时将 nginx.conf
文件挂载到容器的 /etc/nginx/nginx.conf
路径,依赖于 php
服务。php
服务使用 PHP-FPM 镜像,并将 /app
目录挂载到容器的 /var/www/html
路径。
3.3、在 myapp
目录下启动 Docker Compose:
docker-compose up
这会启动 web
和 php
服务,并将它们连接在一起。
如果你想在后台运行 Docker Compose,请使用 -d
参数:
docker-compose up -d
3.4、访问 Nginx:
打开浏览器,访问 http://localhost:8080
,你应该能看到 Nginx 的欢迎页面。
如果你在 Docker 容器中运行 Docker Compose,请使用容器的 IP 地址代替 localhost
。
3.5、停止 Docker Compose:
如果你使用了 -d
参数启动了 Docker Compose,可以使用以下命令停止 Docker Compose:
docker-compose down
这会停止并删除所有 Docker Compose 启动的容器。