✏️
[自分用]docker-compose.yamlテンプレ
この記事について
完全に自分用の備忘録.
ローカルpc上でdocker-composeファイルを書くときに使用する項目を忘れがちなので,よく使う項目を記載しておく.
Dockerfile
後で記載予定.
docker-compose.yaml
version: '3.8'
services:
svc-name1: # service name
build:
context: ./dockerfile # Dockerfileの場所
dockerfile: Dockerfile1 # Dockerfileの名前
image: my_image_name # image名の指定
container_name: my_container_name # container名の指定
hostname: my_host_name # host名の指定
restart: always
privileged: true
environment: # 環境変数の指定(下記はmysqlの一例)
MYSQL_ROOT_PASSWORD: rootPass
MYSQL_DATABASE: testdb # optional
MYSQL_USER: user1 # optional
MYSQL_PASSWORD: user1Pass # optional
# MYSQL_ALLOW_EMPTY_PASSWORD: "yes" # optional
# MYSQL_RANDOM_ROOT_PASSWORD: "yes" # optional
# MYSQL_ONETIME_PASSWORD: "yes" # optional (MySQL 5.6 or above)
# MYSQL_INITDB_SKIP_TZINFO: "" # optional
TZ: "Asia/Tokyo"
# ports: # portの指定(host:container)
# - "3306":"3306"
volumes:
- ./myVolume/data:/work/data
- ./myVolume/src:/work/src
networks:
- my_network
command: echo 'Hello svc-name1' # コンテナ起動時に実行するコマンド
svc-name2:
build:
contexts: ./dockerfile
dockerfile: Dockerfile2
image: my_image_name2
networks:
- my_network
volumes:
- ./myVolume/data2:/work/data
ports:
- "8080":"80"
restart: always
environment:
depends_on:
- svc-name1 # コンテナの起動タイミングを指定(svc-name1が起動した後に起動させる)
networks:
my_network:
# volumes: # バインドボリュームを使う場合は不要
# mysqlVol1:
Discussion