備忘録
ファイル構造
docker-compose.yml
-
platform: linux/x86_64
- Appleシリコンでは必要
-
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- データベースのデータに日本語を格納できるようにするために必要
docker-compose.yml
version: '3'
networks:
base:
ipam:
driver: default
config:
- subnet: 172.30.0.0/24
services:
db:
build: ./mysql
platform: linux/x86_64
networks:
base:
ipv4_address: '172.30.0.10'
ports:
- 3306:3306
volumes:
- ./mysql/db:/var/lib/mysql
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
# user: mysql
user: "1000:50"
container_name: webprog_db
environment:
MYSQL_DATABASE: sampledb
MYSQL_USER: dbuser
MYSQL_PASSWORD: 1234
MYSQL_ROOT_PASSWORD: 1234
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
web:
build: ./php
networks:
base:
ipv4_address: '172.30.0.20'
ports:
- 80:80
- 443:443
container_name: webprog_php
volumes:
- ./src:/var/www/html
extra_hosts:
- "dev_host:172.30.0.1"
py:
restart: always
build: ./python
networks:
base:
ipv4_address: '172.30.0.30'
ports:
- 8080:8080
container_name: webprog_py
volumes:
- "./python/workdir:/workdir"
environment:
TZ: "Asia/Tokyo"
tty: true
my.cnf
- よくわかっていない
my.cnf
[mysqld]
character-set-server=utf8mb4
explicit-defaults-for-timestamp=1
# general-log=1
# general-log-file=/var/log/mysql/mysqld.log
[client]
default-character-set=utf8mb4
Dockerfile
- よくわかっていない
FROM mysql:5.7
#RUN sed -e 's/^ *user *= *mysql$/user = root/' -i /etc/mysql/my.cnf
COPY ./my.cnf /etc/mysql/conf.d/