LoginSignup
3
3

More than 5 years have passed since last update.

docker-machine で、Debian(Jessie) 上に docker-engine を導入する

Last updated at Posted at 2016-05-22

ゴールデンウィークにやってみましたので、その備忘録です。この後は、Swarm 入れてやろうなんてことを考えています。

微妙に突っかかったりしています。

前提条件/構成

次の構成で実施しました。

  • クライアント iMac(El Capitan)docker-toolbox をインストールしておきます
  • サーバ Proxmox VE 上に、次の 3つの仮想マシン(VM) を準備しました
  1. docker00 Debian jessie : Swarm Manager 用 (仮IP 192.168.0.100)
  2. docker01 Debian jessie : Docker agent #1 (仮IP 192.168.0.101)
  3. docker01 Debian jessie : Docker agent #2 (仮IP 192.168.0.102)
  • debian サーバでは、次の通り構成してます
  1. ssh で root以外はログインできるように設定
  2. docker 管理をするユーザが、パスワードなし sudoできるように設定
  3. 今回は docker ユーザで実行します

今回は、この 3台へ docker-machine を使って、docker-engine をインストールしました。

docker-machine を利用する理由

リモートに Docker 用のサーバ/VM を準備するとなると、管理が必要です。その管理の手間は少しでも抑えたく、今回は docker-machine を利用することにしました。

以前は、CoreOS でクラスタを構成して管理することも考えたのですが、管理側となるクライアントの Macの最新版 Dockerと、CoreOS上の Docker とで、バージョンがあわずに、接続すらできない事象が多くあり、その為にα版やβ版を利用することも難儀ですし、さらに言うと CoreOSのα版でも Dockerのバージョン追いついてこないことが多く、颯爽と諦めました。

debianサーバへ Dokcerを構築する理由

自宅で Proxmox VE 使って、仮想サーバたくさん運用してるので、個人が下手にパブリッククラウドに手を出してしまうと、運用コストでガッカリするのでやめました。

3万くらいあると、そこそこのサーバがえいやと建てられてしまうのと、電気代も数百円単位で運用できてしまっているので、数年利用することを考えるとお察しなのです。

とは言え、最近、格安サーバが出てこなくなったので、ある程度のところでクラウドへ移行していくかも知れません。

docker-machine を使って、debian へ docker-engine を導入しよう

フツーの Linux 上へ docker-machine を使ってインストールする場合には、次の genericドライバを使います。実のとこ、Proxmox に対応したドライバがあるのですが、今はまだ時期尚早感すごかったので、見なかったことにしています。

汎用(generic)ドライバ — Docker-docs-ja 1.11.0 ドキュメント

後は簡単。各サーバに対して、次のコマンド。

docker-machine
$ docker-machine create -d generic --generic-ssh-user docker --generic-ip-address 192.168.0.100 docker00

各コマンドラインオプションは、次の項目を設定しましょう

オプション 今回の設定値 説明
-d generic 使用するドライバを指定します。今回は generic
--generic-ssh-user docker リモート(今回はdebian)側で、sudo 可能なユーザ
--generic-ip-address 192.168.0.100 導入先のサーバ/VM のIPアドレス

docker00 は、管理するための名前で、ホスト名でもなんでも良いです。

簡単ですね、これを他の docker01 docker02 にも実行してみると、インストール完了です。ネットワーク環境にも寄りますが、1台の docker-engine 導入完了までに 5〜10分くらいかかるっぽいです。気長に待ちましょう。

導入後に docker-machine ls コマンドで、ステータスが見られます、今だとこんな感じですね。

docker-machine-ls
$ docker-machine ls
NAME       ACTIVE   DRIVER    STATE     URL                        SWARM   DOCKER    ERRORS
docker00   *        generic   Running   tcp://192.168.0.100:2376           v1.11.1
docker01   -        generic   Running   tcp://192.168.0.101:2376           v1.11.1
docker02   -        generic   Running   tcp://192.168.0.102:2376           v1.11.1

おめでとうございました(´∀`)と言いつつ、重要なポイントは次

注意事項

generic ドライバ on docker-machine v0.7.0 では、--generic-ssh-key を使って、ssh-key のファイルを指定することはできません。bugっぽいです。直るの待ちましょう。

3
3
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
3
3