docker-compose 是一个容器编排工具(自动化部署、管理);
它用来在单台 Linux 服务器上运行多个 Docker 容器;
docker-compose 使用YAML文件来配置所有需要运行的 Docker 容器,该 YAML 文件的默认名称为 docker-compose.yml
一般情况下,我们会安装docker,然后再来安装docker compose,但是要注意,安装docker完之后,要注意其版本,docker compose的版本要与其相对应。
目前我们安装的docker版本是24.0.6
查看版本介绍
Docker Compose release notes | Docker Docs
可以用docker compose 2.19版本的,也可以用2.18的,但是2.19版本的至少需要docker24.0
curl -L "https://github.com/docker/compose/releases/download/v2.19.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
unmae -s -m是查询服务器系统版本,该命令的作用,其实就是下载docker-compose的可执行环境,这里注意,因为需要连接github下载非常慢,所以也可以在连了外网的环境,先下载下来(Tags · docker/compose · GitHub),最后再放到提前准备的路径上。
上传到 /usr/local/bin
移到对应的目录,同时改一下名字。
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
给文件可执行权限,建立软连接
- chmod +x /usr/local/bin/docker-compose
- ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看是否安装成功
docker-compose --version
docker compose up -d
-d表示后台启动,默认在docker-compose.yml的目录下执行
docker compose down
down之后相当于把容器停止,并且docker rm 删除。
示例:
- version: '3'
- services:
- nginx:
- image: nginx
- restart: always
- hostname: nginx
- container_name: nginx_compose
- privileged: true
- ports:
- - 8080:80
- volumes:
- - /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- - /home/nginx/html/:/usr/share/nginx/html/
- - /home/nginx/logs/:/var/log/nginx/
查看报错提示说/home/nginx/conf/nginx.conf是目录,原来是因为docker启动容器进行挂载的时候,如果路径不存在,那么docker会自动创建一个目录。所以在挂载的时候要注意文件的类型
在Docker Compose中,使用docker-compose up
命令可以启动一个或多个服务。您只需要在命令中指定要启动的服务名称即可,例如:
docker-compose up nginx
参考: