compose 是什么
Compose 是用于定义和运行多容器 Docker 应用程序的工具。
通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。
然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
想要了解更多关于compose 查看 菜鸟教程
1. 编写 docker-compose.yaml 文件
version: '3.5'
networks:
backend:
driver: bridge # 可以让docker容器的互通 需要设置 - links postgres
frontend:
driver: bridge # 外网访问
services:
postgres:
build: ./postgres
restart: always
networks:
- backend
- frontend
ports:
- 5432:5432 # 映射外网端口
volumes:
- ./postgres/data/:/var/lib/postgresql/data # 指定本机路劲 前面为本机路劲:docker容器内的路劲
environment:
- POSTGRES_USER=postgres # 配置账号
- POSTGRES_PASSWORD=secret # 配置密码
### Tips: Windows下的docker 如果映射了本机路劲会提示权限问题,启动不了 ###
redis:
build: ./redis
volumes:
- ./redis/data/:/data
restart: always
ports:
- 6379:6379
networks:
- frontend
- backend
### pgAdmin ##############################################
pgadmin:
image: dpage/pgadmin4:latest
environment:
- PGADMIN_DEFAULT_EMAIL=stacn@qq.com
- PGADMIN_DEFAULT_PASSWORD=secret
- PGADMIN_LISTEN_ADDRESS=0.0.0.0
ports:
- 80:80
restart: always
depends_on:
- postgres
networks:
- frontend
- backend
### MySQL ###
mysql:
image: mysql:5.7.34
restart: always
command: [ '--character-set-server=utf8mb4' ]
environment:
MYSQL_ROOT_PASSWORD: secret
volumes:
- ./mysql/data/:/var/lib/mysql
ports:
- 3306:3306
networks:
- backend
- frontend
2. 编译并运行compose
docker-compose up -d
3. 销毁环境
docker-compose down
4. 查看启动的环境
docker ps
这样就启动成功了。可以使用 127.0.0.1 或者外网ip连接![微信截图_20220120005350.png]