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

回答編集履歴

2

説明を微調整。

2019/06/12 10:19

投稿

suama
suama

スコア1997

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  ホスト側で起動したアプリケーションのソケットのあるディレクトリを、コンテナ側にVolumeでマウントさせる、というのはどうでしょうか?
2
2
 
3
3
  **20190612 追記**
4
- ホスト側のdocker.sockをコンテナ側にマウントさせてDockerのAPIを叩く...というのは試したりするので、気になってrailsをソケットであげて、コンテナ側にソケットファイルをマウントさせて、socatでリクエストを出すということをやってみました。
4
+ ホスト側のdocker.sockをコンテナ側にマウントさせてDockerのAPIを叩く...というのは試したりするので、気になってrailsをソケットであげて、コンテナ側にソケットファイルをマウントさせて、コンテナ内部からsocatでリクエストを出すということをやってみました。
5
5
 
6
6
  Docker for Macに限ってですが、この場合、コンテナ側からは ``socat[16] E connect(5, AF=1 "/tmp/sockets/puma.sock", 24): Connection refused`` のメッセージが出たので、エラーメッセージとしては同様かと思います。
7
7
  もし環境が違っていても再現するようでしたら、とりあえずはホスト側のアプリケーションもTCPで上げておくのが良いのかな...とは思っています。なにか参考になれば幸いです。

1

追記しました。

2019/06/12 10:19

投稿

suama
suama

スコア1997

answer CHANGED
@@ -1,1 +1,10 @@
1
- ホスト側で起動したアプリケーションのソケットのあるディレクトリを、コンテナ側にVolumeでマウントさせる、というのはどうでしょうか?
1
+ ホスト側で起動したアプリケーションのソケットのあるディレクトリを、コンテナ側にVolumeでマウントさせる、というのはどうでしょうか?
2
+
3
+ **20190612 追記**
4
+ ホスト側のdocker.sockをコンテナ側にマウントさせてDockerのAPIを叩く...というのは試したりするので、気になってrailsをソケットであげて、コンテナ側にソケットファイルをマウントさせて、socatでリクエストを出すということをやってみました。
5
+
6
+ Docker for Macに限ってですが、この場合、コンテナ側からは ``socat[16] E connect(5, AF=1 "/tmp/sockets/puma.sock", 24): Connection refused`` のメッセージが出たので、エラーメッセージとしては同様かと思います。
7
+ もし環境が違っていても再現するようでしたら、とりあえずはホスト側のアプリケーションもTCPで上げておくのが良いのかな...とは思っています。なにか参考になれば幸いです。
8
+
9
+ **関連:**
10
+ https://forums.docker.com/t/cant-connect-to-host-listening-unix-socket-from-container-vm/15526/2