1.Compose介绍
Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
优势:
使用docker-compose构建docker镜像具有以下优势:
简化部署:docker-compose允许您定义多个容器的配置,使得部署应用程序变得简单和一致。
可移植性:Docker镜像是可移植的,可以在不同的环境中运行,无需担心依赖项和配置的问题。
高效性:Docker镜像是轻量级的,启动和停止容器的速度非常快,可以快速扩展和缩减容器的数量。
隔离性:每个容器都是相互隔离的,一个容器的问题不会影响其他容器的运行。
说人话就是部署简单,好备份,不用再设置环境变量、映射文件目录等,基本等于一键搞定,想装什么软件直接找大佬要个yml文件就行,然后根据自己的情况改一下变量
主要说一下docker-compose怎么用,一般都是ymal为后缀的文件,也有yml的。
不管什么后缀在win电脑里直接用记事本打开就可以编辑了,或者把后缀改成.txt
二、docker-compose.yml文件主要部分的详细解释:
文件版本:
version字段指定了Compose文件格式的版本。常用版本为3.8, 3.7等。例如,version: '3.8'。
服务定义:
services字段下定义了所有要运行的服务。每个服务都运行一个镜像,并且可以定义端口、卷和环境变量等。
image:指定要使用的服务镜像。可以使用预构建的镜像,也可以通过Dockerfile构建自己的镜像。
ports:将容器端口映射到主机端口,例如- "80:80"表示将容器的80端口映射到主机的80端口。
volumes:将主机(๐•ᴗ•๐)径或命名卷挂载到容器内部(๐•ᴗ•๐)径,例如- ./web:/usr/share/nginx/html表示将主机的./web目录挂载到容器的/usr/share/nginx/html目录。
environment:为容器设置环境变量,例如- MYSQL_ROOT_PASSWORD=example。
networks:定义服务的自定义网络。
构建指令:
build:指定一个目录从Dockerfile构建镜像,例如build: context: . dockerfile: Dockerfile。
依赖关系:
depends_on:指定服务之间的依赖关系,确保服务的启动顺序。
部署选项:
deploy:用于定义服务的部署选项,如副本数、更新策略、重启策略等。
网络和数据卷:
networks:定义服务的自定义网络。
volumes:定义命名卷,用于数据的持久化。
其他选项:
container_name:指定容器的名称。
hostname:设置容器的主机名。
extra_hosts:配置额外的主机映射。
logging:配置日志驱动和选项。
restart:设置容器的重启策略。
以下是一个基本的docker-compose.yml文件示例:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./web:/usr/share/nginx/html
environment:
- NGINX_HOST=localhost
- NGINX_PORT=80
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: example_db
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
这个配置文件定义了两个服务:web和db,并配置了它们的镜像、端口、卷和环境变量。同时,还定义了一个命名卷db_data用于持久化数据库数据。
请注意,Docker Compose和docker-compose.yml文件的具体配置和功能可能会随着版本的更新而有所变化。因此,在编写和使用docker-compose.yml文件时,建议参考最新的官方文档。
三、docker-compose往哪放?
以群辉为例:
进入群辉
看到桌面有个(๐•ᴗ•๐)件中心

打开(๐•ᴗ•๐)件中心
点击所有(๐•ᴗ•๐)件找到container manager(没在所有(๐•ᴗ•๐)件里要不去已安装里看看?)然后安装
安装完成之后
