いつもお世話になっております。
Windows上でDockerを利用してbaserCMSの開発環境を構築してみたところ、MySQLのコンテナが上手く起動しない現象に遭遇してしまいました。
コンテナ起動直後すぐに閉じてしまっているように思えます。
何か解決策をご存じでしたらお教えいただきたいです。
作業時の手順
-
下記からダウンロードしてローカルに展開
https://github.com/baserproject/basercms
-
docker/README.mdに記載されている流れに沿ってインストールを行い、baserCMSを起動する。
-
baserCMSのインストール|ステップ3でデータベース情報を設定し、接続テストを行う
→下記エラーが表示される
データベースへの接続でエラーが発生しました。データベース設定を見直してください。
サーバー上に指定されたデータベースが存在しない可能性が高いです。
- 閉じたコンテナに
docker commit
とdocker run
を使って入る
docker commit bc-db exitdb
docker run --rm -it exitdb sh
※bc-db・・・落ちたmySQLコンテナ
- コンテナ内でMySQLにログインしようとすると下記エラーが表示される
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
作業環境
OS:Windows10
baserCMS:4.2.4
seto
2
こんにちは
Docker for windowsでmysqlを使用する場合、権限の問題で"/var/lib/mysql"のマッピングができないので、Docker Volumeを使用する必要があるみたいです。
(Volumeを消すとmysqlのデータが消えるのでご注意ください。)
以下の設定で動作することを確認しました。
volumes付近を2箇所変更してます。
volumes:
db-volume: # for windows
# sync-volume:
# external: true
services:
bc-db:
container_name: bc-db
image: mysql/mysql-server:5.7
volumes:
# - ./volumes/mysql:/var/lib/mysql
- db-volume:/var/lib/mysql # for windows
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_USER: "root"
MYSQL_PASSWORD: "root"
MYSQL_DATABASE: "basercms"
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
「いいね!」 1
早速のご返信ありがとうございます。
お教えいただいた通りに変更して試したところ、無事インストールを完了することができました。
大変助かりました。ありがとうございます。
「いいね!」 1