Closed1

M1 macでDocker使ってMySQL8使う

nabeyangnabeyang

Dockerfile.MySQLの中身はsakila使う場合です。ローカルに初期データある場合は/docker-entrypoint-initdb.dディレクトリにdocker-compse.ymlでマッピング設定を追加すると良いと思います。その場合はDockerfile.MySQLはいらなくて、imageを指定したら良いです。

docker-compose.yml
version: "3"

services:
  mysql:
    build:
      context: ./
      dockerfile: Dockerfile.MySQL
    environment:
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_DATABASE: ${DB_NAME}
      TZ: "Asia/Tokyo"
    volumes:
      - ./my.cnf:/etc/mysql/conf.d/my.cnf
    ports:
      - "3306:3306"
Dockerfile.MySQL
FROM mysql:8.0.29-oracle

RUN microdnf install -y tar
RUN curl -SL https://downloads.mysql.com/docs/sakila-db.tar.gz | tar zxvf -
RUN cat ./sakila-db/sakila-schema.sql ./sakila-db/sakila-data.sql > /docker-entrypoint-initdb.d/init.sql
RUN rm -rf ./sakila-db
このスクラップは2022/05/18にクローズされました