Part 6:アプリのデプロイ

必要条件

  • Docker バージョン 1.13 以上のインストール
  • Part 4 を入手。
  • Part 1 の概要を読んでいること
  • Part 2 のコンテナの作成方法学んでいること
  • 自分で作成した friendlyhello イメージを レジストリに送信 して公開済みなのを確認します。ここでは、この共有イメージを使います。
  • イメージをコンテナとしてデプロイできるのを確認します。次のコマンドを実行しますが、 ユーザ名リポジトリタグ は皆さんのものに置き換えます。コマンドは dockerrun-p80:80ユーザ名/リポジトリ:タグ です。そして http://localhost/ を表示します。
  • Par t5 で作成した docker-compose.yml最終バージョン があること

はじめに

Choose an option

Docker CE(クラウド・プロバイダ)

Docker コミュニティ・エディションをプロダクションで使う方針であれば、Amazon Web Services や DeigalOcean、Microsoft Azure のような有名なサービスプロバイダ上のアプリ管理に、Docker Cloud を利用できます。

セットアップとデプロイをするには:

  • 任意のプロバイダと Docker Cloud を接続し、 Docker Cloud に対して「Docker対応」の仮想マシンを自動的にプロビジョンする権限を付与
  • Docker Cloud で計算資源と swarm の作成
  • アプリのデプロイ

注釈

以降は Docker Cloud ドキュメントにリンクをしていますが、各ステップが終わりましたら、このページにお戻りください。

Docker Cloud へ接続

Docker Cloud は スタンダード・モード または swarm モード で実行できます。

Docker Cloud をスタンダード・モードで動かす場合は各サービス・プロバイダと Docker Cloud を接続するため、以下のドキュメントをご覧ください。

Docker Cloud を swarm モードで動かす場合は、次の swarm の作成 をご覧ください。

swarm の作成

..Ready to create a swarm?

swarm 作成の準備が整いましたか?

注釈

自分で用意したホストで Docker Cloud エージェントを使う 場合は、swarm モードのサポートがありません。Docker Cloud で 作成した swarm を登録 ください。

アプリのデプロイ

Docker Cloud を通して swarm に接続します 。Docker for Mac や Docker for Windows (Edge リリース)であれば、デスクトップのアプリ側メニューから、 直接 swarm に接続 できます。

あるいは別の方法として、ローカルホスト上でターミナルを開いての操作も行えますが、Docker コマンドを各クラウド・サービス・プロバイダの swarm に向ける必要があります。しかし、今から送ろうとするコマンドは、SSH を使ってコマンドを送る必要があるため、手順はいささか異なります。ここでは、自分のローカルのファイルシステムとリモートの swarm の両方を直接アクセスするため、小綺麗なコマンドを使ってみましょう。

docker stack deploy -c docker-compose.yml getstartedlab

以上です! アプリはプロダクションで稼働を開始し、環境は Docker Cloud によって管理されています。

おつかれさまでした!

これで Docker プラットフォーム全体としてのフルスタック、すなわち開発からデプロイへの流れを習得しました。

ここで扱わない機能も Docker Cloud にはありますが、これまで、コンテナ、イメージ、サービス、swarm、スタック、スケーリング、負荷分散ボリューム、場所の制約といった、基本的な考えを習得しました。

より深く学びたいですか? 私たちは以下のリソースを推奨します。

  • サンプル : コンテナで有名なソフトウェアを動かす例や、ベストプラクティスを教えるラボがあります
  • ユーザ・ガイド : チュートリアルで扱った内容よりも深いネットワークやストレージに関して、いくつかの例とともに紹介するユーザガイドです
  • 管理者ガイド : Docker 対応プロダクション環境を管理する方法を扱います
  • トレーニング : 対面での教室や仮想クラス環境における公式 Docker コースです
  • ブログ : 直近の Docker の話題を扱います