teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

編集途中でした

2019/05/13 03:47

投稿

zembutsu
zembutsu

スコア1584

answer CHANGED
@@ -1,3 +1,28 @@
1
1
  私の手許の環境で docker-compose up -d を試したところ、
2
2
 
3
- ```
3
+ ```
4
+ # docker-compose ps
5
+ Name Command State Ports
6
+ ---------------------------------------------------------------------------------
7
+ mysql_db_1 docker-entrypoint.sh --def ... Up 3306/tcp, 33060/tcp
8
+ mysql_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8000->80/tcp
9
+ ```
10
+ このように正常に動作するのを確認しました。
11
+
12
+ もし、何度も起動・停止を試みられているのであれば、以前の MySQL 用データベースの情報 `./db` が残り続けているため、WordPress 側のコンテナから接続できないのかもしれません。
13
+
14
+ 別のディレクトリを作成し、そこで `docker-compose up -d` を実行すると起動できると思います。
15
+
16
+ 後半の、
17
+ > 「- "./db-conf:/etc/mysql"」の記述について、コメントアウトを解いてdocker-composeすると/etc/mysqlに含まれているmy.cnf等がローカルのdb-confフォルダに現れずMySqlの起動自体もエラーになってしまうのですが
18
+
19
+ については、手許に `/etc/mysql/` 以下の `my.cnf` などがないと、設定ファイルがなく MySQL は起動できないためエラーになります。
20
+
21
+ こういう場合は `mysql:latest` イメージを使うコンテナを一時的に起動して、コピーする方法が簡単です。
22
+
23
+ ```
24
+ docker run -itd --name mysql-cnf mysql:latest
25
+ docker cp mysql-cnf:/etc/mysql ./db-conf
26
+ ```
27
+
28
+ こうすると、 コンテナ内の `/etc/mysql` が、現在のディレクトリ直下 `./db-conf` にコピーできます。