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

回答編集履歴

1

説明の追加

2019/01/11 03:01

投稿

euledge
euledge

スコア2404

answer CHANGED
@@ -1,3 +1,24 @@
1
1
  ソケットで接続するのなら、mysqlのコンテナでソケットの出力先をホストのvolumeにして、クライアントも同じvolumeをマウントするのではどうでしょうか?
2
2
 
3
- もしくは、ネットワーク接続を許可するようにmy.cnfを調整するかですね。
3
+ もしくは、ネットワーク接続を許可するようにmy.cnfを調整するかですね。
4
+
5
+ ----
6
+ ## 追記
7
+ ソケットを共有する場合は以下のようなイメージです。
8
+ ```
9
+ php:
10
+ ... 省略 ...
11
+ volumes:
12
+ - /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock
13
+ db:
14
+ ... 省略 ...
15
+ volumes:
16
+ - /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock
17
+ ```
18
+
19
+ また、linkを指定することでdbコンテナはホスト名dbとして他のコンテナから参照できるので
20
+ 以下のような感じで接続できるのではないでしょうか?
21
+
22
+ ```
23
+ mysql:host=db;dbname=DB名;charset=utf8','ユーザー名','パスワード'
24
+ ```