Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第13章 アプリケーションでのコンテナーの作成

以下のセクションでは、Docker 形式のコンテナーイメージをローカルで構築したアプリケーションから作成する方法について説明します。デプロイメントにオーケストレーションを使用する場合、アプリケーションをコンテナーとして利用可能にすることにはいくつかの利点があります。または、効果的にコンテナー化により、依存関係の衝突が解決されます。

前提条件

  • コンテナーを理解していること
  • アプリケーションをソースからローカルに構築していること

手順

  1. 使用するベースイメージを決定します。

    注記

    Red Hat は、基盤として Red Hat Enterprise Linux を使用するベースイメージの使用から開始することを推奨します。詳細情報は、Base Image in the Red Hat Container Catalog を参照してください。

  2. ワークスペース用のディレクトリーを作成します。
  3. アプリケーションの必要なファイルをすべて含むディレクトリーとして、アプリケーションを用意します。このディレクトリーをワークスペースディレクトリー内に配置します。
  4. コンテナーの作成に必要な手順を記述する Dockerfile を作成します。

    コンテンツの追加、デフォルトの実行コマンドの設定、必要なポートの開放および他の機能の追加などの、Dockerfile の作成方法については、Dockerfile Reference を参照してください。

    この例では、my-program/ ディレクトリーを含む最小限の Dockerfile を示しています。

    FROM registry.access.redhat.com/rhel7
    USER root
    ADD my-program/ .

    この Dockerfile をワークスペースディレクトリーに配置します。

  5. Dockerfile からコンテナーイメージを構築します。

    # docker build .
    (...)
    Successfully built container-id

    この手順では、新規に作成されたコンテナーイメージの container-id をメモするようにしてください。

  6. イメージにタグを追加して、コンテナーイメージの保存先のレジストリーを識別します。Getting Started with Containers: Tagging Images を参照してください。

    # docker tag container-id registry:port/name

    container-id を、直前の手順の出力に表示された値に置き換えます。

    registry を、イメージをプッシュするレジストリーのアドレスに、port をレジストリーのポートに (必要に応じて省略)、name をイメージの名前に置き換えます。

    たとえば、イメージの名前が myimage のローカルシステムで docker-distribution サービスを使用してレジストリーを実行している場合に、タグ localhost:5000/myimage を使用することで、イメージのレジストリーへのプッシュが可能になります。

  7. イメージをレジストリーにプッシュし、後でそのレジストリーからプルできるようにします。

    # docker push registry:port/name

    タグの部分を、直前の手順で使用した値と同じ値に置き換えます。

    独自の Docker レジストリーを実行するには、Getting Started with Containers — Working with Docker registries を参照してください。

関連情報