HatenaPocketLINELINEローカル環境としてVirtualBoxにUbuntu乗せてdockerでKUSANAGI等を動かして遊んで、いざ本番環境に移行しようといろいろ探していたらdocker-machineなるものを発見してハマった話。やりたいことGMO-VPS上にdocker-machineで接続する(genericドライバ)docker-machineにはAWS等に簡単に接続するためのドライバが有るのですが、今回実施しようと思ったGMO-VPS向けには特別なドライバがないのでgenericドライバを用いて接続したときのお話です。さくらVPS等の紹介記事はあるのですが、GMO-VPS向けはなかったので書いてみました。ポイント今回何回かハマったのは、見ていたサイトが古いためdocker-machineのバージョンが異なりインストールできなかったことが大きいです。そのため、実際に行うときはdocker-ce、docker-machineのバージョンを考慮し、必要に応じて公式サイトのインストール方法を参考にインストールしたほうが無難です。ネットにある情報だと、バージョンが異なって、エラーが出る等おおいにあります。今回のやり方の前提条件GMO-VPS上にUbuntuをクリーンインストールした状態から、一般ユーザーを作って鍵認証設定等をしてローカルのDocker-machineで接続できるようにします。やり方サーバ側設定sudo権限を持つ一般ユーザーを作成プロンプトは、#:root、$:一般ユーザーとします。ここでは例としてUSERというユーザーを作成します。USERこの状態でsudo権限を与えます。sudoこれでユーザーができたので、ユーザーでログインします。rsa3回入力を求められます。最初は、公開鍵、秘密鍵を置く場所です。何も入力しないでEnterするとデフォルト設定になります。デフォルトでOKです。つぎは、鍵を使用する際のパラフレーズを聞かれます。何も入力せずにEnterでも通りますが、セキュリティが下がるっぽいです。USER@IPアドレスUSERは先程、サーバーで作った一般ユーザーです。IPアドレスは先程のサーバーのアドレスになります。初回の場合はフィンガープリントが表示されるので、”yes”を入力してUSERのパスワードを入力すると鍵が登録されます。operation」と出たので、サーバ側で下記のコマンドを実行しました。ssh-addこれでクライアント側から公開鍵を用いてssh接続ができるはずです。USER@IPアドレスこれで特にパスワードを聞かれずに接続できたら成功です。できないようであれば、鍵の設定がうまく行っていない可能性があるので確認してください。現状、docker-machine実行前にdocker-ceをインストールしておくとうまく行ったのでこの手順を記載しています。したら、ここは不要かも...インストール方法は公式サイトで最新バージョンのものをみるのが確実です⇒公式サイトここでは公式サイト記載の内容(2019/7/24時点)のコマンドだけを抽出して記載しています。containerd.io以上で、最新のdockerをインストールすることができます。docker-machine実行時にsudoでパスワード入力が必要だとコケるので、パスワード入力をOFFする必要があります。visudoここで、下記の一文を追加します。containerd.io<VERSION_STRING>が欲しいバージョンで、例えば「5:18.09.1~3-0~ubuntu-xenial」という形式で指定します。詳しくは公式サイトをご覧ください。クライアント側でdocker-machine続いてクライント側にdocker-machineをインストールします。daemonを用いたものになっているため、最新のdocker-ceをインストールしているとコケます。インストール方法は公式サイトをご覧ください⇒公式サイトここでは公式サイト記載の内容(2019/7/24時点)のコマンドだけを抽出して記載しています。versionこれで、...0.16.0...と表示されれば狙い通りです。この状態までくれば、docker-machineをgenericで正常終了させられるはずです。好きな名前createの前に-Dをつけると、デバッグ機能的に処理内容を出力しながら実行します。コケたときに役立つはずです。SSHのポートを22から変えている場合は別途指示が必要です。方法は、公式サイトを確認ください。おまけ今回の件で、Twitterに右往左往していた当時の様子があります。2019このツイートに一連の流れが乗っています。誤った判断をしている部分もあるので、見るなら全部目を通すことをおすすめします。今回のブログはこのツイートをベースにまとめ直しています。コメントをキャンセルメールアドレスが公開されることはありません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。