Docker Cloudを使ってみる

Published: 2016年5月6日 by tomsato

概要

米国時間2016年3月1日に発表された

「Docker Cloud」について調べます

Docker Cloudとは

SaaS(Software as a Service)型のクラウドサービス
Docker Cloudはコンテナの実行環境ではなく、対象となる実行環境は既存のクラウドやデータセンターに任せ、それを操作することになる

イメージとしてはAWSでDockerの機能を使っていたが、Docker CloudがあることによってDockerのプラットフォームとしてAWSを使うことになる
それができることによって安いクラウドへすぐ引っ越すことができたり、複数のクラウドを組み合わせて可用性を高めるといった付加価値がある

アーキテクチャについて

https://www.tutum.co/how/
を参考にする
dockercloud01

Tutumさんは自動管理やインフラのオートスケールを実現するオーケストレーションサービスを提供してくれる
またビルドやデプロイ、アプリケーションコンテナの管理を行うプラットフォームを提供してくれる、Tutumさんはシンプルで柔軟性があるとか > 適当に翻訳してみた

Nodes 個々のLinux hosts/VMがアプリケーションをノード上に展開して実行している、上記の図でいうとBだが土台的な立ち位置
Azure,AWS,DigitalOceanにノードを作成できる
Node Clusters ノードを論理的にグループ化させている
ノードのリソースをプールさせてまとまってアプリケーションを実行させているので、複雑さと無駄を削減できる
Containers アプリケーションの基本的要素
Links  2つ以上のコンテナ間でデータをシェアさせる
Volumes コンテナはmountしてデータを格納することができる
コンテナが終了してもvolumeは持続される
Services コンテナの集まり
ノードをまたがってアプリケーションをスケールできる

料金について

無料枠

https://cloud.docker.comにログインした人全員に
最初のノードとプライベートリポジトリを無料でもらうことができる

有料枠

従量制の料金を採用している

追加ノードの料金単価は1ノード毎に1時間0.02ドルとなっている
(電子メールおよびアプリ内サポート込み)

使ってみる

利用するクラウドの登録

https://cloud.docker.com/ よりログイン後
dockercloud02
Providerを選択する
(DigitalOcean,AWS,Azure,SoftLayer,Packertがある)

dockercloud03

今回はAWSをLinkさせました、LinkさせるにはAWSのアカウントを持っていて
アクセスキーIDとシークレットアクセスキーを入力する必要があって
さらにAmazonEC2FullAccessのポリシーをアタッチさせておく必要があります

ノードを作成する

dockercloud04

ノードの情報を記述する

dockercloud05

数分ほど待つと作成される

サービスを作成する

dockercloud06

テストなのでdockercloud/hello-worldというイメージを使う

dockercloud07

適当に入力 (PortsではPublishedをチェック)

dockercloud08

作成完了

dockercloud09

URLにアクセスするとそれっぽいページが表示される
dockercloud10

stack fileを作成する

https://docs.docker.com/docker-cloud/feature-reference/stacks/

stackはserviceのまとまりで、何か特定の用途を持った環境のアプリケーションを作成する際に活用する
stackfileというYAML形式のファイルを作成することで活用できる

dockerfile11

書式についてはこちらを参考にする
https://docs.docker.com/docker-cloud/feature-reference/stack-yaml-reference/

上記の図だと「test-stack」という1つのstackで「lb」「web」「redis」の3つのserviceが作成される

dockercloud12

Repositoriesについて

Docker Hubのリポジトリを作成したり自動ビルドができるような設定ができそう

参考

 

コメントを書く

※ 個別に返信が必要な時のみご記入ください

※ Emailは公開されません

※ 承認されると名前・コメントが下記に表示されます

コメント一覧

最近の投稿

ビジュアルリグレッションテストについてまとめ、ネットで調べると数多くのライブラリがありどれがどんな立ち位置なのか全体像がわかりずらかったのでどんな種類があるのか入門の入門としてまとめます、またPlaywrightを使って実際に触ってみました

社内ツールなどの超小規模なAPIをGolangで実装する際にフレームワークを使うべきかを、実際にnet/httpを使った実装とフレームワークを使った実装を比較することでどれだけ優位性があるかを見ていきたいと思います。今回はフレームワークにはシンプルで使いやすそうなEchoを使うことにします。

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

カテゴリ一覧

タグ一覧