RackspaceのCarinaでDockerコンテナ
Rackspaceが提供するコンテナホスティングのCarina
無償ベータ期間だそうで、使ってみました。
まずは、こちらでアカウントの作成
https://getcarina.com/
ログイン
チュートリアル
お試しということでこちらのチュートリアルをやってみる。
https://getcarina.com/docs/getting-started/getting-started-on-carina/
クラスターの作成
なにはなくともクラスター、って事でクラスターを作成するようです。
クラスターは、ネットワーク、ストレージ、コンテナ群などを管理する単位のよう。
クラスター名とオートスケールするかどうかを指示して「Create Cluster」をクリック。
クラスター名:zum-cluster-01
今回はオートスケールは無しにしました。
しばらくSTATUSがbuilding...となって、1分程度待つと、
こんな感じでクラスターが作成されます。
デフォルトでNodeは3つ作成され、そのうちの一つが起動している様子です。
Docker Version Manager
さて、ここからはローカルのCLIで作業が出来る。。。
ための準備を行います。
コントロールパネルで、作成したクラスターの「Get access」をクリックすると、Docker Version Manager (dvm)と言うツールがダウンロードされます。
ファイルは、[クラスター名].zipとなり、これを適当な場所にダウンロード、展開。
で、こんな感じのファイルが展開されました。
ターミナルからこのディレクトリに移動して、チュートリアルの通り、
$ source docker.env
※Windowsの場合は、チュートリアルを参照シて下さい。
ちなみに、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
この状態でイメージを確認してみると、
$ 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にもよりますが。。。
しばらくは色々使ってみたいと思います。
Author And Source
この問題について(RackspaceのCarinaでDockerコンテナ), 我々は、より多くの情報をここで見つけました https://qiita.com/zum/items/fc5b9f690c651f99897f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .