前提・実現したいこと
私はDocker desktop for Windowsを使用して、MySQL環境をセットアップしたいと考えています。
MySQLでutf8mb4を有効にするために、my.cnfをマウントしたいです。
発生している問題・エラーメッセージ
docker-compose.ymlのvolumesによって、ローカルのmy.cnfをマウントしようとしていますが、dockerにはmy.cnfがコピーされません。
エラーは発生しておらず、コンテナの起動は確認できます。
該当のソースコード
- docker-compose.yml
version: '2' services: ... snip ... db: image: mysql:8.0 build: context: ./ dockerfile: ./mysql/dockerfile container_name: my_container environment: MYSQL_ROOT_PASSWORD: {password} MYSQL_DATABASE: my_db command: mysqld --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci volumes: - './mysql/data:/var/lib/mysql' - './mysql/logs:/var/log/mysql' - './mysql/init:/docker-entrypoint-initdb.d' - './mysql/my.cnf:/etc/mysql/my.cnf' ports: - '3306:3306'
- ./mysql/my.cnf
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_bin ... snip ... [mysql] default-character-set = utf8mb4 [client] default-character-set = utf8mb4
- dockerfile
FROM mysql:8.0 RUN chmod 644 /etc/mysql/my.cnf RUN mkdir -p /var/lib/mysql-files
試したこと
いろいろなwebサイトを確認するとWindowsの場合、コピーしたmy.cnfに権限の付与が必要ということですが、こちらもうまくいきません。
(そもそもmy.cnfがdockerに作られません)
たとえば、【Windows】docker-composeを使ってmy.cnfの共有は気を付けよう!(????=????問題など)
あなたの回答
tips
プレビュー