SoftLayerでDocker環境を整えるコツ
[PR]
前半はDockerの利点や導入方法について、後半はSoftLayerのオブジェクト・ストレージを有効活用する方法をご紹介します。
Dockerとは?
開発やテストに使う環境だけでなく、アプリケーションを動作する環境を、より速く、より簡単に使いたいと思ったことはありませんでしょうか。クラウド・コンピューティングや仮想化の環境を使うよりも、軽量かつ素早く利用するための基盤として、Dockerが注目を集めています。
仮想マシンの場合は、ゲストOSを立ちあげる必要があるため、メモリやハードディスクの容量を必要とします。一方のDockerは、Linuxコンテナ技術を用いてLinuxカーネル上に独立したOS環境を素早く構築できるため、仮想マシンの環境に比べて迅速に利用できます。また、Dockerfileという設定ファイルを用いる環境構築の自動化や、Docker Hubという公開リポジトリを通して、Dockerイメージを共有・管理する機能が提供されています。
どうしてSoftLayerでDockerを使うのか?
SoftLayerでDockerを使うメリットは大きく3つあります。
- 仮想サーバーとベアメタル・サーバーの使い分けと、月額・時間課金を選べます
- データセンター間の内部通信は高速かつ課金が発生しません
- 標準のSSL-VPNを使って、安全にメンテナンスができます
順を追って詳しく見てきます。まず1つめは、仮想サーバーとベアメタル・サーバーを使い分けられる点です。Dockerの開発環境を複数人で使いたいとき、共用仮想サーバーは他の利用者による影響で、性能に対する懸念があります。そのような場合でも、SoftLayerであればシングルテナント環境のバーチャルサーバー(Private Node)や、物理サーバーであるベアメタル・サーバーも選択できます。加えて、SoftLayerはI/Oに対する課金が、仮想サーバーであれば5TB/月まで無料のため、利用金額の見通しが立てやすい利点があります。そのため、短期間の利用であれば時間での課金を、予め長期間の利用が想定される場合は、月額での課金を使い分けられます。
2つめは、SoftLayerのデータセンター間のプライベート・ネットワークには課金が発生しない点です。Dockerの開発がすすむと、Dockerイメージ用ファイルのやりとりや、本番環境へのデプロイが必要になります。このとき、異なるデータセンター間でやりとりする場合、トラフィックがどれだけ発生しても課金がありません。また、プライベート・ネットワーク間には広帯域の専用線で結ばれているため、インターネット上でやりとりするよりも高速にコンテナ用のイメージの転送が可能です。
3つめは、安全にメンテナンスができる点です。SoftLayerのサーバーは、起動すると自動的にパブリック・ネットワークとプライベート・ネットワークのIPアドレスが割り振られます。そのため、SoftLayerのサーバー上にDockerの環境を構築・操作する際に、SSL-VPNを経由することで、安全にメンテナンスを行えます。また、このVPN接続はアカウント毎に接続可能なサブネットを限定するようなアクセス制限も可能です。多くの人が開発に携わるような環境では、アクセス制限可能なVPN環境が提供されていることと、これらが無料で使えるのは魅力的と思われます。
Dockerのセットアップ
DockerはLinux標準の機能ではありません。そのため、使うためにはDockerのセットアップが必要です。各Linuxディストリビューションに対応したバイナリ・パッケージが配布されています。それぞれのOS上でインストール用のコマンドを実行して、手軽に環境をセットアップすることができます。仮想マシンまたはベアメタル・サーバーを起動したら、それぞれの環境にあわせて構築をお願いします。
RHEL7/CentOS7の場合
セットアップには配布されているパッケージを用います。
CentOS7でfirewalldを使っている場合は注意が必要です。dockerはiptablesを使い内部ネットワークの制御を行います。そのため、firewalldの再起動や停止をしますと、dockerのiptables設定が無効化されてしまいます。dockerと併用する場合は、firewalldを起動したあと、dockerを起動します。
RHEL6/CentOS6の場合
標準ではパッケージが提供されていないため、EPELリポジトリのものを使います。
Ubuntu Trusty 14.04 (LTS) (64-bit)の場合
Ubuntuによってメンテナンスされているものと、Docker社によってメンテナンスされているものの2つの方法があります。Ubuntu版よりもDocker版のほうが、新しいバージョンに対応したものが提供されています。
Ubuntu版
Docker版
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- ownCloudで実現するセキュアな無制限ストレージ on Softlayer
- GitLabを用いた継続的インテグレーション
- クラスキャット、SoftLayer対応のプライベートクラウドサービスとDockerベースのクラウドストレージサービスを提供開始
- ZabbixでSoftLayerを監視してみよう!
- OSSで実現する HPC on SoftLayer
- Rancherのカスタムカタログの作成
- Dockerfileを使いこなす(2)
- クラスキャット、OpenStack Kiloベースのプライベートクラウドソリューションを提供開始
- Dockerfileを使いこなす(1)
- OpenStack Juno on SoftLayer by RDO