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のリポジトリを作成したり自動ビルドができるような設定ができそう

参考

 

Share

最近の投稿

NetlifyのSplit TestingとFunctionsについて使い方をまとめる Split TestingはGitHubのブランチをベースにしたA/Bテストを行うための機能のことで、FunctionsはNetlifyでAWS Lambdaを使うことができる

NetlifyとはHTMLなどの静的コンテンツのみで構成されたWebサイトを閲覧できる形で配信するWebサービス GitHubやBitbucket、GitLabなどと連携して使うことができて、リポジトリにプッシュすることで自動でCI/CDを行うことができる、無料枠が豊富で独自ドメインを設定可能

WordPressからJekyll(GitHub Pages)に移行した手順をまとめる。 お金的な事情や使いやすさなどの理由で無料のJekyll+GitHub Pagesに移行した。JekyllとはMarkdown等から静的ページを生成する静的サイトジェネレータ

Scala開発のためにScalaらしさをまとめる 言語設計者の設計思想を元にScalaらしさについてまとめる オブジェクト指向と関数型の融合について

StorybookとはUI開発環境を提供するツール React、React Native、Angular、Vueなどをサポートしている ユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする

カテゴリ一覧

タグ一覧