docker-machine で DigitalOcean を使う

docker-machine コマンドは –driver digitalocean で簡単に DigitalOcean に Docker Machine を作れます。
https://docs.docker.com/machine/drivers/digital-ocean/

region や size は doctl コマンドで確認できます。実行のたびに変わらないものは環境変数にセットしておきます。(doctl は golang で書かれた one binary なので GitHub の release ページからダウンロートして PATH の通った場所に置いて使います)。

SSH公開鍵のフィンガープリントは DigitalOcean の Settings でも確認できますが、ローカルある鍵については ssh-keygen コマンドで取得できます

最近の ssh はデフォルトの HASH アルゴリズムが SHA256 になっているので、次のような出力だった場合は -E md5 を指定する必要があります。

公開鍵を消しちゃってる場合は ssh-keygen -y で秘密鍵から作れます。

MD5: の後の部分 (f2:f2:76:35:b0:54:54:0d:8c:67:37:59:b0:0b:43:51) を環境変数 DIGITALOCEAN_SSH_KEY_FINGERPRINT にセットしておきます。

簡単に Docker Machine ができました。

とすれば外から port 80 にアクセスできちゃいました。

プライベートネットワークを有効にして試してみるとどうなるだろうか。

これで同じく nginx コンテナを起動してみたら

0.0.0.0:80 を Listen しており、Global IP Address 側からも Private IP Address 側からもアクセスできる状態になりました

次はこれで Swarm クラスタを構築してみよう

投稿者:

yteraoka

ITインフラ全般をお仕事としてます