LoginSignup
0
0

M2MacにおいてDockerコンテナでMySQLデータベースの環境構築

Last updated at Posted at 2024-05-03

備忘録

ファイル構造

スクリーンショット 2024-05-04 7.18.08.png
PythonとPHPは一旦無視で
mysql
スクリーンショット 2024-05-04 7.23.28.png

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/
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0