1. Introducción
Docker Compose
Es una herramienta para orquestar la implementación distribuida de múltiples contenedores, que proporciona un conjunto de comandos para administrar el ciclo completo de desarrollo de aplicaciones en contenedores, incluida la construcción, el inicio y la detención del servicio. Pasos para el uso:1. 利用 Dockerfile 定义运行环境镜像 2. 使用 docker-compose.yml 家义组成应用的各服务 3. 运行 docker-compose up 启动应用
2. Instalación y uso
-
Excepto cuando
Linux
se instala endocker
, no se instalará automáticamentedocker-compose
y otras plataformas (window
,mac
) se instalarán automáticamentedocker-compose
. -
Después de la instalación
docker
, puede usar el siguiente comando para verificar si está instalado por cierto.Sidocker-compose
no está instalado, puede instalarlo de acuerdo con el sitio web oficial y luego verificar si la instalación se realizó correctamente.$ docker-compose -v
-
Crear un directorio de trabajo
$ mkdir ~/docker-compose $ cd ~/docker-compose
-
Escriba
docker-compose.yml
un archivo con una forma fija de escribir el nombre del archivo. Enyml
la gramática,-
significa escritura de arreglos, y puede haber más de uno.// 版本 version: '1' // 服务 services: // 服务名称(也就是容器名称) nginx: // 镜像 image: nginx:2.0 ports: // 端口映射 - 80:80 // 关联的容器(也就是可以访问的容器) links: // 关联容器名称 - app // 目录映射 volumes: - ./nginx/conf.d:/etc/nginx/conf.d - ....可以多个 // 服务名称(也就是容器名称) app: image: app // 对外暴露的端口 expose: - "8080"
-
Crear
./nginx/conf.d
un directorio y crear unnginx
archivo de configuración# 创建配置文件夹 $ mkdir -p ./nginx/conf.d # 进入配置文件夹 $ cd ./nginx/conf.d # 新建 nginx 配置文件,名字无所谓,主要是后缀 $ vim mynginx.conf
-
mynginx.conf
contenidoserver { listen: 80; access_log off; location / { # app 位置就是 links 里面存在容器名称加上容器暴露的端口 proxy_pass http://app:8080 } }
-
Luego regrese al
~/docker-compose
directorio para iniciar el contenedor y luegohttp://IP地址
acceda a él a través de$ cd ~/docker-compose # 启动容器 $ docker-compose up
3. Comandos comunes
-
Iniciar y detener servicios
# 启动项目中的服务 $ docker-compose up # 启动项目中的服务并设置组名称(默认使用当前文件夹名称,单个容器使用的是 --name 设置名称) # 组名称也就是项目名称 -p;--project xxx $ docker-compose -p myproject up # 启动服务并在后台运行 $ docker-compose up -d # 停止服务 $ docker-compose stop
-
Servicios de compilación y refactorización
# 构建服务的镜像 $ docker-compose build # 如果服务镜像不存在,则构建镜像并启动服务 $ docker-compose up –build # 重构服务 $ docker-compose up –force-recreate
-
Ver información del servicio
# 查看项目中所有服务的信息 $ docker-compose ps # 查看容器的日志 $ docker-compose logs # 在服务镜像的容器中执行命令 $ docker-compose exec service_name command
-
eliminar servicio
# 停止所有容器后,删除所有服务容器 $ docker-compose down # 停止所有容器后,删除所有服务容器与对应的数据卷 $ docker-compose down -v # 删除所有停止后的服务容器 $ docker-compose rm --stop