🍣
オレオレdockerサーバーを作ってみたときのメモ
背景
作ったものはこちら
以下を使っています。Macでやりましたが、たぶん他のOSでも動くのではないのかと。
dockerはクライアントサーバーモデルだとは知っていたけれども、じゃあ実際にクライアントはそのままでサーバーを変えるとどうなるか試してみたくてやってみました。
実際に手を動かしてわかったこと
dockerサーバー側の設定で必要なこと
- dockerはデフォルトではunixドメインソケット通信しか許可していない
- docker daemonのオプションを指定するとtcp通信をすることができる
-
sudo systemctl edit docker.service
でdocker.service用の設定ファイルを上書きすることができ、そのファイルの中でdocker daemonのオプションを指定できる
参考
(基本的なことだが)dockerのクライアントとサーバーの接続で使用するポートはファイヤーウォールで接続を許可する必要がある
- クライアントからdockerデーモンへの接続用のポート2375と接続するためにはファイアウォールで接続を許可する必要がある
- ゲストマシン内では
telnet localhost 2375
でつながるのにホストマシンからは接続できないってのでなんでだってなったときに下記記事が参考になりました。ファイアウォールが邪魔していた。 - apacheやnginxで使用する80番ポートならホストマシンとゲストマシンのポートマッピングを設定したらデフォルトで接続許可されているのでファイヤーウォールの設定は不要となる。自分はしばらくポートマッピングだけでことが済むことばかりだったため、意識できておらず詰まった...。
- ゲストマシン内では
Discussion