LoginSignup
15
14

More than 5 years have passed since last update.

ローカルからリモートのDockerホストにdockerコマンドを投げる

Posted at

目的

リモートにあるDockerホストに対してローカルのDockerクライアントからアクセスする。

イメージ的には、

------------------------------                                --------------
|ローカル端末(dockerクライアント)| ------($docker hogehoge)------>| Dockerホスト|
------------------------------                                --------------

とする。

前提

  • Ubuntu 16.04
  • Docker 17.09.0-ce
  • DockerホストのIPアドレスは192.168.56.102

手順

docker.serviceファイルの修正

あまりお行儀がよくないけれども、直接 docker.serviceを修正する。

# vim /lib/systemd/system/docker.service

修正ポイント

修正前
ExecStart=/usr/bin/dockerd -H fd://
修正後
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H fd://

dockerdの再起動

dockerデーモンの再起動を行う。

# systemctl daemon-reload
# systemctl stop docker
# systemctl start docker

動作確認

先ほど設定した0.0.0.0:2376でListenしてくれているかをnetstatを使って確認する。

netstatによる確認
# netstat -ntap | grep :2376
tcp6       0      0 :::2376                 :::*                    LISTEN      4315/dockerd

ローカルのマシンからコマンドを投げてみる。
-H tcp://IPアドレス:ポート番号でリモートのソケットに接続できる。

動作確認
$ docker -H tcp://192.168.56.102:2376 info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 2
Server Version: 17.09.0-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 2
 Dirperm1 Supported: true
~~~~略~~~~

どうやら動いているようだ。
以下のようにすることでdocker-composeもリモートサーバにお願いできる
bash:リモートでdocker-compose
$ docker-compose -H tcp://192.168.56.102 up -d

15
14
1

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
15
14