🍣

オレオレdockerサーバーを作ってみたときのメモ

2021/05/30に公開

背景

作ったものはこちら

以下を使っています。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番ポートならホストマシンとゲストマシンのポートマッピングを設定したらデフォルトで接続許可されているのでファイヤーウォールの設定は不要となる。自分はしばらくポートマッピングだけでことが済むことばかりだったため、意識できておらず詰まった...。

参考
Vagrant + VirtualBoxで仮想環境側のポートをあける

Discussion