LoginSignup
3
3

More than 5 years have passed since last update.

RackspaceのCarinaでDockerコンテナ

Last updated at Posted at 2016-06-20

Rackspaceが提供するコンテナホスティングのCarina

無償ベータ期間だそうで、使ってみました。

まずは、こちらでアカウントの作成
https://getcarina.com/

ログイン

アカウントを作成してログインすると、こんな感じ。
スクリーンショット 2016-06-21 1.31.43.png

チュートリアル

お試しということでこちらのチュートリアルをやってみる。
https://getcarina.com/docs/getting-started/getting-started-on-carina/

クラスターの作成

なにはなくともクラスター、って事でクラスターを作成するようです。
クラスターは、ネットワーク、ストレージ、コンテナ群などを管理する単位のよう。

と言う事で、「Add Cluster」をクリック
スクリーンショット 2016-06-21 1.39.14.png

クラスター名とオートスケールするかどうかを指示して「Create Cluster」をクリック。
クラスター名:zum-cluster-01
今回はオートスケールは無しにしました。

しばらくSTATUSがbuilding...となって、1分程度待つと、

スクリーンショット 2016-06-21 1.43.03.png

こんな感じでクラスターが作成されます。
デフォルトでNodeは3つ作成され、そのうちの一つが起動している様子です。

Docker Version Manager

さて、ここからはローカルのCLIで作業が出来る。。。
ための準備を行います。

コントロールパネルで、作成したクラスターの「Get access」をクリックすると、Docker Version Manager (dvm)と言うツールがダウンロードされます。
スクリーンショット 2016-06-21 1.47.15.png

ファイルは、[クラスター名].zipとなり、これを適当な場所にダウンロード、展開。
スクリーンショット 2016-06-21 1.48.28.png

で、こんな感じのファイルが展開されました。
ターミナルからこのディレクトリに移動して、チュートリアルの通り、

$ source docker.env
※Windowsの場合は、チュートリアルを参照シて下さい。

ちなみに、docker.envの中身は、

docker.env
__CARINA_ENV_SOURCE="$_"

if [ -n "$BASH_SOURCE" ]; then
  __CARINA_ENV_SOURCE="${BASH_SOURCE[0]}"
fi

DIR="$(cd "$(dirname "${__CARINA_ENV_SOURCE:-$0}")" > /dev/null && \pwd)"

unset __CARINA_ENV_SOURCE 2> /dev/null

export DOCKER_HOST=tcp://104.130.0.22:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=$DIR

export DOCKER_VERSION=1.11.2

な感じで、もろもろdvmを利用するための設定など。

Docker Version Manager (dvm) のインストール

そして、dvmのインストールは下記。

$ curl -sL https://download.getcarina.com/dvm/latest/install.sh | sh

Downloading dvm.sh...
######################################################################## 100.0%
Downloading bash_completion
######################################################################## 100.0%
Downloading dvm-helper...
######################################################################## 100.0%

Docker Version Manager (dvm) has been installed to /Users/ist/.dvm
Run the following command to start using dvm. Then add it to your bash profile (e.g. ~/.bashrc or ~/.bash_profile) to complete the installation.

  source /Users/***/.dvm/dvm.sh

sourceでdvm指定して、インストールは

$ source /Users/***/.dvm/dvm.sh
$ dvm use
1.11.2 is not installed. Installing now...
Installing 1.11.2...
Now using Docker 1.11.2
Now using Docker 1.11.2

インストール完了。

$ docker info
Containers: 5
Running: 3
Paused: 0
Stopped: 2
Images: 3
Server Version: swarm/1.2.0
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 1
5fcf9b69-5b3f-4d7b-94f2-cb15f9e04231-n1: 104.130.0.22:42376
└ Status: Healthy
└ Containers: 5
└ Reserved CPUs: 0 / 12
└ Reserved Memory: 0 B / 4.2 GiB
└ Labels: com.docker.network.driver.overlay.bind_interface=eth1, executiondriver=, kernelversion=3.18.21-7-rackos, operatingsystem=Debian GNU/Linux 7 (wheezy) (containerized), storagedriver=aufs
└ Error: (none)
└ UpdatedAt: 2016-06-20T16:58:50Z
└ ServerVersion: 1.11.2
Plugins:
Volume:
Network:
Kernel Version: 3.18.21-7-rackos
Operating System: linux
Architecture: amd64
CPUs: 12
Total Memory: 4.2 GiB
Name: 5fcf9b69-5b3f-4d7b-94f2-cb15f9e04231-n1
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support

お〜、Carina見てるっ。

コンテナ起動

チュートリアルではWordpressとMySQLの2つのコンテナを立ち上げるので、仰せのままに。

ネットワーク作成

クラスター内に独自のネットワークを作成します。この閉じられたネットワーク内でコンテナ同士が通信すると。

$ docker network create zum-nw-001
781c5d46b42f95de82e33143a636dd2fc1bf3e87e1076e51f4506f12bf99098d

dockerのコマンドのまんまですね。zum-nw-001と言うネットワークを作成しました。

MySqlコンテナ起動

$ docker run --detach --name mysql --net zum-nw-001 --env MYSQL_ROOT_PASSWORD=password mysql:5.6
b4a828eea06b8f78cd604b94e9bc6373071a8760fff7fb7f89e8eca22260f53c

※チュートリアルのまんま。。。この記事の価値皆無だな(^^;

ローカルでrunするよりも気持早いかな。

Wordpressコンテナ起動

$ docker run --detach --name wordpress --net zum-nw-001 --publish 80:80 --env WORDPRESS_DB_HOST=mysql --env WORDPRESS_DB_PASSWORD=password wordpress:4.4
a41838a98aa4ba6c2c98f7a0b5018c4c9f950fc9e2975722e2f3ffd2c7fc3d46

ホントに立ち上がってる???

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
a41838a98aa4        wordpress:4.4       "/entrypoint.sh apach"   25 seconds ago      Up 22 seconds       104.130.0.22:80->80/tcp   5fcf9b69-5b3f-4d7b-94f2-cb15f9e04231-n1/wordpress
b4a828eea06b        mysql:5.6           "docker-entrypoint.sh"   2 minutes ago       Up 2 minutes        3306/tcp                  5fcf9b69-5b3f-4d7b-94f2-cb15f9e04231-n1/mysql

Carinaお見事!

動作確認

下記で、アクセス用IPアドレスを確認します。

$ docker port wordpress 80
104.130.0.22:80

スクリーンショット 2016-06-21 2.12.04.png

後は普通にWordpressのインストールを実行して、
スクリーンショット 2016-06-21 2.13.56.png

この状態でイメージを確認してみると、

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
swarm               1.2.0               021d335278a5        11 days ago         18.71 MB
mysql               5.6                 2c0964ec182a        3 weeks ago         329 MB
swarm               carina-consul       aac599bcad73        5 weeks ago         28.49 MB
wordpress           4.4                 769a7fd0230c        10 weeks ago        519.5 MB
cirros              latest              f8ce316a37a7        5 months ago        7.735 MB

swarmが動いてたりします。

ここまで来た状態で、WEBのコントロールパネルを見てみると、

Imageやコンテナ、ネットワーク等がわかりやすく表示されていました。

コンテナ削除

動作確認が出来たので、コンテナを削除します。削除コマンドも「dvm」と同じ。

$ docker rm --force --volumes wordpress mysql
wordpress
mysql

感想

Carinaは思った以上に簡単でした。
dvmをインストールした後は、いつもローカルで行っているのと同じコマンドが利用出来るので、まったく悩むこともなく、Wordpressが立ち上がりました。

起動後の動作も、体感的には早い、と感じました。

操作性、性能とも、十分利用価値はありそうです。
ベータが終了した後のPricingにもよりますが。。。

しばらくは色々使ってみたいと思います。

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