1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

docker daemonとclientの分離(dockerを別のマシンで動かして接続する)

Posted at

メインマシンのimacにdockerは入れているが、マシンリソース食うのでできれば別のマシンで動かしたい。
ちょうど汎用鯖兼NASがあるので、そちらでdockerを動かしてimacからはコマンドのみでつなぎたい。

dockerd自体はrest-apiで動いている、というざっくり理解はあったので、これはポート開ければ
サーバーとクライアントで分離できるんじゃないかと思った。

こうすればOK

・Dockerが動いているサーバーにSSH(鍵、パスワードではダメ)でつながるようにする。
・環境変数:DOCKER_HOSTに「ssh://[user]@[host name]:[port]」とexportする。
これでつながる。

公式Doc

https://docs.docker.com/engine/reference/commandline/dockerd/#examples
socketとかtcpでつながるようなオプションもあるが、tcpでやろうとするとserviceの設定内容変えないといけなかったり、
セキュリティ的に推奨されない(まぁ家鯖なので特に気にしなくても良いが)ので、お手軽なSSHでつなぐ形でやる。

To use SSH connection, you need to set up ssh so that it can reach the remote host with public key authentication. Password authentication is not supported.

ドキュメントにもあるがSSHのパスワード認証はサポートされない。
なので鍵つくってそれで入れるようにしましょう。

クライアント側は
docker -H ssh://me@example.com:22 ps
のコマンドでつながる様になる。
何度も-Hで指定するのはタルいので、環境変数に入れとく。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?