LoginSignup
8
4

More than 3 years have passed since last update.

OS別、DockerクライアントのみをインストールしてリモートのDockerに接続する為の設定方法

Last updated at Posted at 2019-12-08

DockerデーモンにTLS接続出来るのが前提の記事となっています。

更新履歴

  • 2021/5/1
    • 公式配布のWindows向けバイナリが最新版になっていたので、そちらを推奨手順に変更しました。

検証環境

  • Windows 10 Pro version 1909
  • Ubuntu 19.04
  • macOS Catalina

共通の手順

クライアントのインストール手順はOS毎に違いますが、接続先の設定は認証用のファイルを~/.dockerに置いて環境変数を設定するだけです。

公式手順に従っていた場合はca.pem,cert.pem,key.pemの3つのファイルが出来ているはずなので、この3つのファイルを各クライアントにコピーし、~/.dockerに移動しておきます。

デフォルトの接続先をUNIXソケットからTCPソケットに変えるには下記の2つの環境変数を設定します。

DOCKER_HOST=tcp://hoge.exampl.com:2376
DOCKER_TLS_VERIFY=1

上記のhoge.exampl.com:2376は接続先のFQDNとポートに置き換えてください。

Docker Clientのインストール (Ubuntu)

公式手順の最後のsudo apt-get install docker-ce docker-ce-cli containerd.ioのところでdocker-ceとcontainerd.ioを省くだけです。

Docker Clientのインストール (macOS)

Homebrewがdockerを配布しているので、これを利用するのが簡単です。多分クライアントだけだと思います。

brew install docker

Docker Clientのインストール (Windows)

Windowsでは決定版的パッケージマネージャーが存在せず、少なくともMSYS2のpacman等ではdockerの配布はされていません。

取れる手段は3つです。

  1. WSLにインストールして、Windows側にwsl上のdockerを呼び出すラッパーを用意する。
  2. 公式配布の古いバイナリをダウンロードし、パスを通す。
    2021年5月現在、公式配布のバイナリのバージョンが最新のものになっているので、こちらを利用するのが確実です。以降のビルド関連の記述は旧来のバイナリが欲しい等の特殊事情でない限り無視してください。
  3. 自分で公式ソースをビルドし、パスを通す。

1番はお手軽ではあるものの、VSCodeのRemote - Containersが使う||の解釈に失敗して上手く動きませんでした。

2番もお手軽ではあるものの、VSCodeのRemote - Containersが未実装のオプションを利用する為上手く動きませんでした。

よってここでは3番で行きます。

Docker Clientをビルドする

gitコマンドが使える、dockerがインストールされている環境で作業します。
dockerはクロスビルドに対応している為、Windowsでなくて構いません。

適当なディレクトリを作り、そこにdocker-ceのリポジトリをcloneします。

$ mkdir ~/docker-ce 
$ cd ~/docker-ce
$ git clone https://github.com/docker/docker-ce.git .

これで取得するソースは開発版になるので、安定版が良い場合はバージョンをタグで指定してcheckoutします。

v19.03.5への切り替え
$ git checkout refs/tags/v19.03.5

次にDocker Clientのディレクトリに移動し、ビルドを行います。

$ cd components/cli/
$ make -f docker.Makefile binary-windows

makeにdockerコマンドを利用している為、dockerコマンドにsudoが必要な環境ではmakeの前にsudoをつけてください。

ビルドが完了するとbuildフォルダの中にdocker-windows-amd64というファイルが出来ているので、これをWindowsの適当なディレクトリにscp等でコピーします。

コピーしたファイルをdocker.exeにリネームし、環境変数のPATHにdocker.exeのあるディレクトリへの絶対パスを追記すればインストール完了です。

参考文献

Get Docker Engine - Community for Ubuntu

8
4
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
8
4