DUICUO

CentOS または Fedora で Docker コンテナを実行するにはどうすればよいですか?

近年、Dockerは注目を集めており、クラウド環境へのアプリケーションデプロイにおける重要なテクノロジーとなっています。従来のハードウェア仮想化技術と比較して、Dockerベースのコンテナサンドボックスは、軽量な分離、デプロイされたアプリケーションの容易な移植性、メンテナンスの容易さなど、アプリケーションデプロイ環境に多くの利点をもたらします。Red Hatは現在、Dockerコンテナの管理とデプロイの簡素化に向けた取り組みにおいて、オープンソースコミュニティをリードしています。

Dockerはクラウド環境だけでなく、エンドユーザーにとっても非常に便利です。特に特定のLinux環境でソフトウェアをテストしたい場合に役立ちます。ターゲット環境用のDockerコンテナを簡単に構築し、その中にソフトウェアをインストールしてテストし、完了したらコンテナを破棄できます。このプロセス全体は非常に効率的で便利であり、ターミナルシステムの混乱を常に防ぎます。

このチュートリアルでは、CentOS または Fedora 上で Docker コンテナを作成および管理する方法を説明します。注意:Docker は現在 64 ビットホストシステムでのみサポートされています。Ubuntu で Docker を試してみたい場合は、こちらのチュートリアル(http://xmodulo.com/manage-linux-containers-docker-ubuntu.html)をご覧ください。

CentOS または Fedora に Docker をインストールする

CentOS に Docker をインストールするには、まず EPEL リポジトリを有効にし、次に yum コマンドを使用します。

  1. $ sudo yum インストール docker-io
  2. $ sudo サービス docker 開始
  3. $ sudo chkconfig docker オン

Fedora に Docker をインストールするには、次のコマンドを使用します。

  1. $ sudo yum インストール docker-io
  2. $ sudo systemctl で docker.service を起動します
  3. $ sudo systemctl で docker.service を有効にする

CentOSまたはFedoraにDockerをインストールしたら、非rootユーザーとしてDockerを実行できるように、自分自身をDockerグループに追加する必要があります。これを行うには、次のコマンドを使用します。

  1. $ sudo usermod -a -G docker $USER

グループの変更を有効にするには、ログアウトして再度ログインしてください。

これで、非特権ユーザーとして docker コマンドを実行できるはずです。

Dockerの基本的な使い方

新しいDockerコンテナを起動する場合、コンテナに使用するDockerイメージを決定する必要があります。公式Dockerイメージインデックス(https://index.docker.io)を検索できます。公開されているDockerイメージがリストされています。Dockerインデックスには、Dockerチームが管理するLinuxベースイメージ(Ubuntu、Debian、Fedora、CentOSなど)と、ユーザーが作成したカスタムイメージ(MySQL、Redis、WordPressなど)が含まれています。

例えば、Ubuntuコンテナを対話モードで起動するには、次のコマンドを実行します。コンテナが起動すると、最後の変数「/bin/bash」がコンテナ内で実行されます。

  1. $ docker run -i -t ubuntu /bin/bash

上記のコマンドを初めて実行すると、ネットワークから利用可能な1つ以上のUbuntu Dockerイメージがダウンロードされ、それらのイメージを使用してDockerコンテナが起動します。Ubuntuコンテナはすぐに起動し、コンテナ内にコンソールプロンプトが表示されます。その後、コンテナサンドボックス内で完全に機能するUbuntuオペレーティングシステムにアクセスできるようになります。

プロンプトで「exit」と入力すると、コンテナが終了し、コンテナが停止します。

すべてのコンテナ(停止したコンテナを含む)を一覧表示するには、次のコマンドを実行します。

  1. $ docker ps -a
  1. コンテナID イメージ コマンド 作成ステータス ポート名
  2. 6a08a0b2bb4c ubuntu:14.04 /bin/bash 約1分前 終了 0 cocky_ritchie

停止したコンテナをデーモン モードで再起動するには:

  1. $ docker start [コンテナID]

停止したコンテナを削除するには:

  1. `$ docker rm [コンテナID]`

バックグラウンドで実行されているコンテナに接続して、表示したり操作したりできるようにしたいです。

  1. $ docker attach [コンテナID]

実行中のコンテナは、必要に応じてカスタマイズできます(例:新しいソフトウェアをインストールする)。現在のコンテナに変更を保存するには、まずプロンプトで「exit」と入力してコンテナの対話モードを終了します。その後、次のコマンドを使用して、変更されたイメージを別のイメージとして保存します。

  1. $ docker commit [コンテナID] [新しいイメージ名]

コンテナのコンテナ ID を取得するには、前述の「docker ps -a」コマンドを使用できます。

このように新しいイメージを構築したら、それを使用して新しいコンテナを起動できます。

以下に示すように、公開されているコンテナ イメージ (Ubuntu、Bowery/MySQL など) をダウンロードして、ローカル ソフトウェア リポジトリに保存することもできます。

  1. $ docker pull [イメージ名]

ローカルにダウンロード/保存されたすべてのコンテナ イメージを表示するには:

  1. $ Dockerイメージ

コンテナを起動する特定のイメージを選択できます。

  1. $ docker run -i -t [イメージID] /bin/bash

ローカル ソフトウェア リポジトリからコンテナ イメージを削除するには:

  1. $ docker rmi [イメージID]

英語: http://xmodulo.com/docker-containers-centos-fedora.html