ConohaにdockerでRedmine鯖を立てたかったので環境を用意しました。

Bash on Ubuntu on WindowsにはDocker Engineをインストールせずに、docker関連のコマンドのみをインストールします。
かわりにConohaへDocker Machineをセットアップし、そちらでDocker Engineを動かします。

Bash on Ubuntu on Windowsへのコマンドインストール

別エントリに書きました。

Bash on Ubuntu on Windowsにdocker/docker-compose/docker-machineコマンドをインストールする方法 - くんすとの備忘録

これで、Bash on Ubuntu on Windowsで以下のコマンドが使えるようになります。

  • docker
  • docker-compose
  • docker-machine

Conohaにdocker-machineを作成

環境変数の設定

OpenStack用の環境変数を設定します。

1
2
3
4
5
export OS_USERNAME=[APIユーザー名]
export OS_TENANT_ID=[APIテナントID]
export OS_PASSWORD=[APIパスワード]
export OS_AUTH_URL=https://identity.tyo1.conoha.io/v2.0
export OS_REGION_NAME=tyo1

Dockerホストの作成

OpenStackのドライバを使い、 conoha-docker という名前でDocker Machineを作成します。

1
2
3
4
5
6
$ docker-machine create \
  -d openstack \
  --openstack-flavor-name g-1gb \
  --openstack-image-name vmi-ubuntu-16.04-amd64-unified \
  --openstack-sec-groups "default,gncs-ipv4-all" \
  conoha-docker

NOTE:

  • 使用できるVMイメージ名は openstack image list で確認できます。
  • 使用できるflavor名は openstack flavor list で確認できます。
  • openstack コマンドは sudo pip3 install python-openstackclient でインストールできます。

実行ログ

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Creating CA: /home/kunst/.docker/machine/certs/ca.pem
Creating client certificate: /home/kunst/.docker/machine/certs/cert.pem
Running pre-create checks...
Creating machine...
(conoha-docker) Creating machine...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env conoha-docker

環境設定

後は、起動スクリプトに以下の内容を書いておけば完了です。 docker コマンドで、Conohaに作成したDocker Machineにコンテナを作成できます。

1
eval "$(docker-machine env conoha-docker)"

参考URL