-
DB_HOST=db:3306
の箇所がポイントdockerネットワークでは指定した名前でホスト名のアクセスできる。ここではwebかdbでそれぞれのコンテナにアクセスできる。 - ここでの3306ポートは外側に出していないので競合しない。
docker-compose.yml
version: '3'
services:
web:
image: gitea/gitea:1.7
volumes:
- ./gitea-data:/data
ports:
- "3000:3000"
- "10022:10022"
environment:
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
- TZ=Japan
- SSH_PORT=10022
depends_on:
- db
restart: always
db:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
volumes:
- ./mysql-data:/var/lib/mysql
$ docker-compose up