1、docker-compose常用命令:
bash
docker-compose -f mysql-docker-compose.yaml up -d
docker-compose -f mysql-docker-compose.yaml down
docker-compose的常用命令包括:
docker-compose up:启动并运行Compose文件中的服务。
docker-compose stop:停止Compose文件中的服务。
docker-compose restart:重启Compose文件中的服务。
docker-compose down:停止并删除Compose服务,同时删除网络、卷和镜像。
docker-compose ps:列出Compose服务中的容器。
docker-compose logs:查看Compose服务中的容器的日志。
docker-compose build:构建Compose服务中的镜像。
docker-compose pull:拉取Compose服务中的镜像。
docker-compose rm:删除Compose服务中的容器。
docker-compose start:启动Compose服务中已停止的容器。
docker-compose run:在Compose服务中运行一个命令。
docker-compose scale:改变Compose服务中容器的数量。
docker-compose pause:暂停Compose服务中的容器。
docker-compose kill:强制停止Compose服务中的容器。
docker-compose port:显示Compose服务中容器的端口映射。
docker-compose config:验证和显示Compose文件的配置。
docker-compose create:基于Compose文件创建容器。
docker-compose exec:在Compose服务的容器中执行命令。
docker-compose push:将Compose服务中的镜像推送到Docker Hub或注册服务器。
docker-compose unpause:恢复Compose服务中容器的运行。
这些命令可以帮助你管理Docker Compose应用程序,包括启动、停止、重启、构建、拉取、删除等操作。
2、docker-compose.yml配置模板通常包含以下内容
docker-compose.yml配置模板通常包含以下内容:
- 服务定义:在模板中为每个服务定义一个条目,指定服务的名称、镜像、构建指令、环境变量、网络等配置。
- 镜像:指定服务使用的Docker镜像。可以使用本地镜像或公共镜像,也可以使用Dockerfile构建自定义镜像。
- 构建指令:如果使用自定义镜像,可以在模板中指定Dockerfile的位置和构建参数。
- 环境变量:为服务配置环境变量,可以通过键值对的形式设置。
- 端口映射:将容器的端口映射到主机端口,以使容器服务可访问。
- 卷挂载:将主机目录或文件挂载到容器中,以便持久化存储数据或共享数据。
- 网络:定义服务所在的网络,可以选择默认网络或自定义网络。
- 命令:指定容器启动后运行的命令。
- 容器链接:将一个服务的容器链接到另一个服务的容器,以便它们可以相互通信。
- 其他选项:根据需要配置其他选项,如CPU和内存限制、日志驱动程序等。
bash
version: "3"
services:
sky-inspect-front:
image: repository.dayu.work/brace/sky-inspect-frontend:jenkins-sky-inspect-frontend-pre-874842-1
restart: always
container_name: sky-inspect-front
ports:
- "30082:8080"
env_file:
- .env
networks:
- sky-net
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
sky-inspect-back:
image: repository.dayu.work/brace/sky-inspect-backend:jenkins-sky-inspect-backend-pre-804072-6
restart: always
container_name: sky-inspect-back
volumes:
- './files:/app/files:rw'
env_file:
- .env
environment:
- META_DB_SCHEMA=sky_inspect
networks:
- sky-net
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
sky-inspect-mini:
image: repository.dayu.work/brace/sky-inspect-mini:jenkins-sky-inspect-mini-pre-870320-2
restart: always
container_name: sky-inspect-mini
volumes:
- './files:/app/files:rw'
env_file:
- .env
environment:
- SIM_ROLE=MASTER
- META_DB_SCHEMA=sky_inspect_mini
networks:
- sky-net
logging:
driver: "json-file"
options:
max-size: "1g"
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
sky-inspect-mini-leader:
image: repository.dayu.work/brace/sky-inspect-mini:jenkins-sky-inspect-mini-pre-870320-2
restart: always
volumes:
- './files:/app/files:rw'
- './files/log:/app/log:rw'
env_file:
- .env
networks:
- sky-net
entrypoint:
- java
- -server
- -Xms8g
- -Xmx8g
- -Xmn6g
- -XX:SurvivorRatio=8
- -Dfile.encoding=UTF-8
- -Dproject.name=SIM
- -jar
- -Duser.timezone=GMT+08
- start-1.0-SNAPSHOT.jar
environment:
- SIM_ROLE=LEADER
- META_DB_SCHEMA=sky_inspect_mini
logging:
driver: "json-file"
options:
max-size: "1g"
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
- "service.cn-kunming-fdtest-d01.odps.res.cloud-test.fudian-bank.com:196.36.88.96"
- "dt.cn-kunming-fdtest-d01.odps.res.cloud-test.fudian-bank.com:196.36.88.104"
sky-data-source:
image: repository.dayu.work/brace/data-source-backend:jenkins-data-source-backend-daily-862940-6
restart: always
container_name: sky-data-source
volumes:
- './files:/app/files:rw'
env_file:
- .env
environment:
- META_DB_SCHEMA=sky_data_source
networks:
- sky-net
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
mysql:
image: mysql:5.7
container_name: mysql
env_file:
- .env
ports:
- "30036:3306"
restart: always
volumes:
- ./mysql/config-file.cnf:/etc/mysql/conf.d/config-file.cnf
- ./mysql/data:/var/lib/mysql
- ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
- /etc/hosts:/etc/hosts
healthcheck:
test: mysqladmin ping -h127.0.0.1 -uroot --password=123xxxxxx
interval: 1s
timeout: 3s
retries: 10
networks:
- sky-net
networks:
sky-net:
driver: bridge