• 検索結果がありません。

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

N/A
N/A
Protected

Academic year: 2021

シェア "Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

Robert Krátký

Red Hat Developer Group Documentation

Red Hat Container Development Kit

2.0

Container Development Kit の使用ガ

イド

(2)
(3)

Red Hat Container Development Kit 2.0 Container Development Kit の使用

ガイド

スタートガイド

Robert Krátký

(4)

法律上の通知

法律上の通知

Copyright © 2017 Red Hat, Inc.

The text of and illustrations in this document are licensed by Red Hat under a Creative Commons

Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is

available at

http://creativecommons.org/licenses/by-sa/3.0/

. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must

provide the URL for the original version.

Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,

Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.

Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity

logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other

countries.

Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.

Java ® is a registered trademark of Oracle and/or its affiliates.

XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States

and/or other countries.

MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and

other countries.

Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to

or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks

or trademarks/service marks of the OpenStack Foundation, in the United States and other countries

and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or

sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

概要

概要

(5)

. . . .

. . . . . . . .

目次

目次

第1章 RED HAT CONTAINER DEVELOPMENT KIT について

1.1. コンテナーについて 1.2. RED HAT CDK について 1.3. VAGRANT について

2章 RED HAT CONTAINER DEVELOPMENT KIT のインストール3章 RED HAT CDK VAGRANT BOX との対話

3.1. VAGRANT コマンドラインインターフェースの使用 3.2. ADBINFO VAGRANT プラグインの使用 3.3. DOCKER サービスの使用 3.4. その他のリソース 3 3 3 4 7 8 8 8 9 14 目次

(6)

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(7)

1章 RED HAT CONTAINER DEVELOPMENT KIT について

Red Hat Container Development Kit (CDK) は、開発者が Red Hat Enterprise Linux プラットフォー ムでコンテナー化されたアプリケーションの開発およびテスト環境をすばやくかつ簡単にセット アップできる一連のツールです。Red Hat CDK は Microsoft Windows、Mac OS X、および Linux オペレーティングシステムで利用できるため、開発者は Red Hat Enterprise Linux エコシステムに デプロイするアプリケーションを作成する際に、それぞれが選択するプラットフォームを使用する ことができます。

Red Hat CDK は Red Hat Developers プログラムの一部です。これは、Red Hat ソリューションお よび製品を使用してローカルとクラウドの両方でアプリケーションを作成する開発者に対し、各種 ツール、リソースおよびサポートを提供します。詳細情報を参照するには、またこのプログラムへ の登録および参加を行うには、developers.redhat.com にアクセスしてください。 本使用ガイド使用ガイドでは、Red Hat CDK を構成するそれぞれのコンポーネントについて説明し、次にそれ らのコンポーネントの取得、インストールおよび設定方法を説明します。作成される環境を使用し てコンテナーとの対話およびコンテナー化されたアプリケーションの開発を開始することができま す。

サポートされるプラットフォーム (Microsoft Windows、Mac OS X、および Linux) のそれぞれに Red Hat CDK をセットアップするためのインストール方法の詳細は、『CDK Installation Guide』 を参照してください。 Kubernetes または OpenShift を使用した複数コンテナーアプリケーション の開発およびコンテナーのオーケストレーションなどの詳細トピックを含む実際的な使用例につい ては、『Container Development Guide』(CDK の GA に発行予定) を参照してください。

1.1. コンテナーについて

コンテナーは、オペレーティングシステムレベルの仮想化の形態です。コンテナーは共有されるホ ストシステムのカーネルをベースとし、複数のユーザー空間インスタンス (ソフトウェアコンテ ナー) を提供します。コンテナーは、ハードウェアレベルの仮想マシンよりも構築し、初期化する のが簡単なため、仮想環境を迅速にデプロイしたり、多数の仮想環境をデプロイしたりする必要が ある場合に役立ちます。仮想ソフトウェアコンテナー内で実行されるアプリケーションはホストシ ステムから分離された状態に保たれます。

1.2. RED HAT CDK について

Red Hat CDK は、開発ワークステーションで使用するオペレーティングシステムの種類によらず、 Red Hat Enterprise Linux のコンテナーの開発を可能にします。開発環境の核となるのは、Vagrant によって管理される Red Hat Enterprise Linux の仮想化インスタンスです。Vagrant は軽量で、 ポータブルかつ一貫性のある開発環境を使用するためのオープンソースツールであり、インストー ル済みの Red Hat CDK ソフトウェアコンポーネントと共に事前に構築された Red Hat Enterprise Linux 仮想マシンを起動するために使用されます。Vagrant で使用するためにパッケージ化された 仮想マシンは box と呼ばれています。

Red Hat CDK ソフトウェアコンポーネントをインストールすると、Docker を使用して Linux コン テナー開発に着手できます。Docker はソフトウェアコンテナー内でアプリケーションのデプロイ メントを自動化するオープンソースプロジェクトです。Docker は、リソースの使用量を制御した 状態でコンテナーを分離し、セキュアに保つための各種機能を持つ数多くの主要な Linux テクノロ ジーに基づいて構築されています。さらに Red Hat CDK は、コンテナー化されたアプリケーショ ンの実際のデプロイメントおよびオーケストレーション向けに Kubernetes と PaaS (Platform-as-a-Service) 製品の OpenShift を提供します。OpenShift は、基礎となるサービスを維持し、必要に応 じて実行中のアプリケーションをスケーリングするために使用できます。

以下は、Red Hat CDK をインストールすることによりコンテナー開発で利用できる一連のテクノロ ジーです。

(8)

レイヤーの種類 テクノロジー

コンテナー コンテナーで実行されるアプリケーション

コンテナー管理 Docker サービス

開発 VM Red Hat Enterprise Linux Server 7

VM 管理 Vagrant

仮想化プロバイダー Virtualbox または libvirt/KVM

ホストマシン OS Microsoft Windows、Mac OS X、または Red Hat Enterprise Linux 7

1.3. VAGRANT について

Vagrant は、各種の開発環境をパッケージ化し、配布するためのデファクトデファクト標準です。これらの開 発環境は、 Windows、Mac OS X、および Linux 上で一般に使用される大半の仮想化プラット フォームを使って実行され、また OpenStack、Amazon Web Services (AWS) およびその他の環境 のプラグインを使用してクラウドで実行されます。

Vagrant は、開発環境を記述するために Vagrantfile という単一設定ファイルを使用します。 Vagrantfile と Vagrant box としてパッケージ化される仮想マシンイメージを使用すると、単一コマ ンドの vagrant up は、ネットワーク設定と、コード、データまたは設定の移動のためにホスト OS と共有されるフォルダーのサポートを含む一貫した開発環境を起動します。

Red Hat CDK には、コンテナーを簡単に開発できる環境を提供するために事前に設定された Red Hat Enterprise Linux システムを使用する Vagrant box が含まれます。提供される Vagrant box は、仮想化プラットフォームとして VirtualBox または KVM (および libvirt) のいずれかを使用して デプロイできます。さらに Red Hat CDK には、box 用にソフトウェアをインストールし、ソフト ウェアリポジトリーを設定するための Vagrant のプロビジョニングに使用する数多くの Vagrantfile も含まれます。

vagrant ssh コマンドを使用して Vagrant box にログインします。ネットワーク設定および SSH

キーの設定の詳細は Vagrant が自動的に処理します。

1.3.1. Vagrant 設定の概要

Vagrant のポータブルで再現可能な環境を作成し、配布する機能は、ターゲット環境を記述する単 一ファイル (Vagrantfile) を使用して利用できます。Vagrantfile は、仮想マシンのイメージ、ネット ワーク設定およびプロビジョニング手順などで必要なリソースを定義します。それぞれのターゲッ ト環境には Vagrantfile を含む別々のディレクトリーが使用されます。

1.3.1.1. Vagrantfile の管理

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(9)

Vagrant コマンドは特定の環境で動作しますが、Vagrant コマンドを使って環境の ID を指定するか (環境がすでに初期化されている場合)、またはこのコマンドを環境の Vagrantfile を含むディレクト リーで実行する必要があります。このディレクトリーは所定環境の「root」ディレクトリーを構成 します。Vagrant は、この「root」ディレクトリーの .vagrant サブディレクトリーに環境の状態 情報を保存します。

Red Hat CDK では、数多くのサンプル Vagrantfile が別々のディレクトリーに組み込まれていま す。各ディレクトリーには README ファイルがあります。ディレクトリーに移動して README お よび Vagrantfile ファイルを確認してから vagrant up コマンドで環境を起動して開始しま す。 注記 注記 ファイルシステムパスで使用されるチルダ文字 (~) は、Mac OS X または Linux などの Unix ベースのオペレーティングシステムにあるユーザーのホームディレクトリーを表し ます。これは、Windows システムの %USERPROFILE%\.vagrant.d に対応します。 環境別の設定ディレクトリーおよび状態ディレクトリーのほかにも、Vagrant は ~/.vagrant.d ディレクトリーを使用し、所定ユーザーが実行するすべての Vagrant 環境に適用されるデータを保 存します。Vagrant box が追加されるか、またはプラグインがインストールされると、それらは

~/.vagrant.d に追加されます。つまり、vagrant box add コマンドを実行すると、box の

Vagrantfile はユーザー別の Vagrant ディレクトリー ~/.vagrant.d/boxes/ にインストールされ ます。このファイルはユーザーのホームディレクトリーに保存されるため、各ユーザーは完全に独 立しており、他のユーザーがインストールした Vagrant box またはプラグインを見ることはできま せん。

注記 注記

Vagrant にはシステム全体の設定という概念がないため、Vagrant を root (管理者) として 実行する場合でも変更は root のホームディレクトリー内でしか行われず、これらの変更 は通常のユーザーには表示されません。

ダウンロードするか、または構築する各 Vagrant box には、その box の基本的な設定を含むそれぞ れの Vagrantfile があります。Vagrant box が追加されると、それに含まれている Vagrantfile は ユーザー別の ~/.vagrant.d ディレクトリーにコピーされます。box の Vagrantfile の設定は環境 別の Vagrantfile で無効にされる場合があります。

最後に、ユーザーの Vagrant 環境のすべてに利用できる設定用のユーザー別 Vagrantfile が

~/.vagrant.d にあります。このファイルはデフォルトでは作成されません。

1.3.2. Vagrant の同期フォルダー

box が起動すると、Vagrant は、Vagrantfile と同じディレクトリーにあるホストマシンのファイル を共有するか、またはこれを仮想マシン上の /vagrant ディレクトリーにコピーします。これ は、コード、データおよび設定をホストマシンから Vagrant box に移動する際の便利な自動化メ ソッドです。 フォルダーの共有およびコピーを行うために利用できるメソッドは、rsync または NFS、あるい は VirtualBox 共有フォルダーなど多数あります。使用されるメソッドは、ホスト OS、仮想化プ ラットフォームおよびインストールされたソフトウェアなどの数多くの要因によって異なります。 Vagrant は最初に rsync または VirtualBox 共有フォルダーの使用を試みます。それらが利用でき

(10)

ない場合は、NFS にフォールバックします。rsync を使用すると、Vagrant はホストから Vagrant box へのオンデマンドの一方向のコピーのみを行います。Microsoft Windows では、rsync はサー ドパーティーのソースからインストールされる必要があります。

それぞれの共有フォルダーに使用される同期タイプは、Vagrantfile の共有フォルダーの定義に設定 できます (config.vm.synced_folder オプション) 。共有フォルダーの定義は、Vagrant box に 同梱される Vagrantfile に含まれている場合もあります。共有フォルダーを完全に無効にしたり、 データ共有に使用されるメソッドを変更したりする場合には、この点に留意してください。 ファイルの双方向の同期が必要な場合、Red Hat Enterprise Linux については NFS が推奨されま す。NFS をセットアップするには、『Red Hat Enterprise Linux 7 ストレージ管理ガイド』のNFS についての章を参照してください。NFS が利用可能にした後に、Vagrantfile で同期フォルダーの タイプを変更するか、または単に type 属性を config.vm.synced_folder オプションから削除 します。

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(11)

2章 RED HAT CONTAINER DEVELOPMENT KIT のインス

トール

ご使用の開発ワークステーション (Microsoft Windows、Mac OS X、Red Hat Enterprise Linux、ま たは Fedora) に Red Hat CDK をセットアップするためのインストール方法については、『CDK Installation Guide』に詳細に説明されています。このセクションでは、参照用としてインストール 手順の簡潔な概要を示します。

使用するホストオペレーティングシステムの種類を問わず、Red Hat CDK のインストールでは、 以下の手順を常に実行する必要があります。

1. 仮想化プロバイダーのインストールまたは有効化 (Microsoft Windows および Mac OS X の VirtualBox、Red Hat Enterprise Linux または Fedora の libvirt/KVM)。

2. Vagrant のインストール。

3. 仮想化プロバイダー用の Red Hat CDK Vagrant box のダウンロード。 4. Red Hat CDK ツールのダウンロードおよび展開。

5. rsync (Microsoft Windows の場合) などの追加の補助ツールのインストール。 6. 取得した Vagrant box の初期化。

(12)

3章 RED HAT CDK VAGRANT BOX との対話

vagrant up コマンドを使用して Red Hat CDK Vagrant box を作成し、設定した後に、vagrant

コマンドを使用して実行中の仮想マシンと対話できます。vagrant-adbinfo プラグインを使用す ると、Vagrant box 内で実行される Docker サービスと対話できるようにホストのワークステー ションをセットアップできます。

3.1. VAGRANT コマンドラインインターフェースの使用

Vagrant のコマンドラインインターフェースは、実行中の仮想マシンを照会し、仮想マシンとそれ らの box の両方を管理するためのコマンドの基本セットを提供します。 環境の状態の照会 環境の状態の照会 vagrant status すべてのアクティブな環境の状態の照会 すべてのアクティブな環境の状態の照会 vagrant global-status box で実行されているシステムの停止で実行されているシステムの停止 vagrant halt box のシステムの初期状態へのリセットのシステムの初期状態へのリセット vagrant destroy box のシステムのシャットダウンなしの一時停止のシステムのシャットダウンなしの一時停止 vagrant suspend 一時停止システムの再開 一時停止システムの再開 vagrant resume 実行中のシステムへのログイン 実行中のシステムへのログイン vagrant ssh 上記およびその他のコマンドの詳細については、Vagrant ドキュメントの「Command-Line Interface」を参照してください。

3.2. ADBINFO VAGRANT プラグインの使用

vagrant-adbinfo プラグインを使用すると、仮想マシンで実行される Docker サービスについて の情報を取得できます。以下のコマンドを実行してホストシステム (ご使用の開発ワークステー ション) に設定する必要のある環境変数を表示し、ホストベースのツール (Eclipse IDE、docker コ マンド、または OpenShift の oc コマンドなど) を有効にして仮想マシンの Docker デーモンと対話 できます。 ~]$ vagrant adbinfo

# Set the following environment variables to enable access to the # docker daemon running inside of the vagrant virtual machine: export DOCKER_HOST=tcp://192.168.121.195:2376

export

DOCKER_CERT_PATH=/home/john/cdk/components/rhel/rhel-Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(13)

ose/.vagrant/machines/default/libvirt/.docker export DOCKER_TLS_VERIFY=1

export DOCKER_MACHINE_NAME=081d3cd

# run following command to configure your shell: # eval "$(vagrant adbinfo)"

Linux で以下のコマンドを実行し、必要な環境変数を設定します。 ~]$ eval "$(vagrant adbinfo)"

3.3. DOCKER サービスの使用

Red Hat CDK 仮想マシンにログインすると (vagrant ssh コマンドを使用)、Red Hat CDK box の初期化に使用した Vagrantfile に基づいて複数の異なるサービスが事前に設定された状態で実行 されます。Docker サービスはいずれの場合でも実行され、このサービスは仮想マシンの起動直後 に使用できます。Docker サービスの使用およびこのサービスとの対話は仮想マシン外のホスト ワークステーションから可能ですが (Eclipse IDE で提供される統合 Docker サポートなどを使用)、 このセクションでは、仮想マシン内のコマンドラインから Docker サービスの使用を開始するため の数多くの基本的な docker コマンドを紹介します。

Docker サービスの詳細な説明については、『Red Hat Enterprise Linux Atomic Host 7 コンテコンテ ナーの使用ガイド ナーの使用ガイド』の「Docker フォーマットのコンテナーイメージの使用方法」の章を参照して ください。

3.3.1. Docker サービスについての情報の取得

docker コマンドは、Docker サービスやこのサービスが実行される環境、ならびに利用可能なリ ソースについての情報を取得するためのいくつかのサブコマンドを提供します。また、このサービ スが管理するイメージおよびコンテナー、および事前に設定されたレジストリーから利用できるイ メージのサービスを照会できます。デフォルトで、Red Hat CDK の Docker サービスは Docker Hub (docker.io) および Red Hat Atomic Registry (registry.access.redhat.com) の両方からイメー ジをダウンロードし、使用できます。

3.3.1.1. Docker 環境についての情報収集

以下のコマンドを使用して、Docker サービスおよび稼働中の環境についての情報を取得します。

Docker サービスのバージョンの確認サービスのバージョンの確認

docker version コマンドを実行し、Docker クライアントおよび Docker サーバーの両

方のバージョンを確認します。 ~]$ docker version Client:

Version: 1.8.2 API version: 1.20

Package Version: docker-1.8.2-8.el7.x86_64 Go version: go1.4.2

Git commit: a01dc02/1.8.2 Built:

OS/Arch: linux/amd64 Server:

(14)

Version: 1.8.2 API version: 1.20 Package Version: Go version: go1.4.2

Git commit: a01dc02/1.8.2 Built:

OS/Arch: linux/amd64 システムおよびリソースについての情報の表示 システムおよびリソースについての情報の表示

docker info コマンドを実行して、ホストシステム (この場合は、Vagrant が管理する仮

想化 Red Hat Enterprise Linux インスタンス)、仮想化リソースの利用、基本的なネット ワーク情報、および管理されるコンテナーおよびイメージの数についての情報を表示しま す。

~]$ docker info Containers: 10 Images: 32

Storage Driver: devicemapper

Pool Name: VolGroup00-docker--pool Pool Blocksize: 524.3 kB

Backing Filesystem: extfs Data file:

Metadata file:

Data Space Used: 1.695 GB Data Space Total: 7.818 GB Data Space Available: 6.123 GB Metadata Space Used: 786.4 kB Metadata Space Total: 67.11 MB Metadata Space Available: 66.32 MB Udev Sync Supported: true

Deferred Removal Enabled: false

Library Version: 1.02.107-RHEL7 (2015-10-14) Execution Driver: native-0.2

Logging Driver: json-file

Kernel Version: 3.10.0-327.el7.x86_64

Operating System: Red Hat Enterprise Linux Server 7.2 (Maipo) CPUs: 2

Total Memory: 993 MiB

Name: localhost.localdomain

ID: 5BXK:XDRV:CYAY:RIWW:NGGU:HN77:KATM:LQ4I:FTF6:5TNX:3U5P:7YK6 WARNING: bridge-nf-call-iptables is disabled

WARNING: bridge-nf-call-ip6tables is disabled

3.3.1.2. コンテナーおよびイメージについての情報収集

以下のコマンドを使用して、システム上のイメージおよびコンテナーについての情報を取得しま す。 管理イメージの一覧表示 管理イメージの一覧表示 docker images コマンドを実行して、ローカルレジストリーで利用できるイメージの一 覧を表示します。 ~]$ docker images

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(15)

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

docker.io/prom/haproxy-exporter latest 559b63e1147d 4 weeks ago 23.56 MB

registry.access.redhat.com/openshift3/ose-haproxy-router v3.1.0.4 6a3fe65c07f1 6 weeks ago 410.5 MB

registry.access.redhat.com/openshift3/ose-sti-builder v3.1.0.4 8b1293f81020 6 weeks ago 395.6 MB

registry.access.redhat.com/openshift3/ose-deployer v3.1.0.4 9580a28b3e18 6 weeks ago 395.6 MB

registry.access.redhat.com/openshift3/ose v3.1.0.4 62208f151337 6 weeks ago 395.6 MB

openshift latest 62208f151337 6 weeks ago 395.6 MB

registry.access.redhat.com/openshift3/ose-docker-registry v3.1.0.4 eb7a879607cf 6 weeks ago 419.9 MB

registry.access.redhat.com/openshift3/ose-pod v3.1.0.4 758ab73ad286 6 weeks ago 327.4 MB

管理コンテナーの一覧表示 管理コンテナーの一覧表示 docker ps コマンドを実行して、実行中のコンテナーの一覧を表示します。--all また -a パラメーターを追加して、利用可能なすべてのコンテナーを一覧表示します (実行中 のコンテナーに限らない)。以下の出力例にあるように、 Red Hat CDK には起動直後に実 行されるいくつかのコンテナーがあります。これらのコンテナーは Red Hat CDK が提供す るサービスの一部を提供するので、これらを停止したり削除したりすることはできませ ん。以下の例は、OpenShift サービスを搭載したコンテナーを示しています。 --format パラメーターを指定して、個別のコンテナーについて表示させたい情報を指定 します (利用可能なプレースホルダーの一覧については、docker-ps(1) man ページを参 照してください)。以下は例になります。

~]$ docker ps --format "table

{{.ID}}\t{{.Image}}\t{{.Command}}\t{{.Status}}"

CONTAINER ID IMAGE COMMAND STATUS

79dbe220fe97 openshift3/ose-haproxy-router:v3.1.0.4 "/usr/bin/openshift-r" Up 2 hours

bd496c95575e prom/haproxy-exporter:latest "/bin/go-run -haproxy" Up 2 hours

09101cf1e40b openshift3/ose-pod:v3.1.0.4 "/pod" Up 2 hours

59b3323bed2b openshift3/osedockerregistry:v3.1.0.4 "/bin/sh -c 'REGISTRY" Up 2 hours 7889628047b1 openshift3/ose-pod:v3.1.0.4 "/pod" Up 2 hours 7506009d9e1c openshift "/usr/bin/openshift s" Up 2 hours コンテナーリソースの使用についての情報の表示 コンテナーリソースの使用についての情報の表示

docker stats <container> コマンドを実行して、特定の実行中のコンテナーのリ

ソース使用の統計を表示するライブ出力を表示します。以下は例になります。

(16)

~]$ docker stats openshift

CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O openshift 0.00% 65.65 MB/1.041 GB 6.30% 0 B/0 B コンテナーおよびイメージ設定についての詳細情報の表示

コンテナーおよびイメージ設定についての詳細情報の表示

docker inspect <container> コマンドを実行して、コンテナーまたはイメージにつ

いてのローレベルの情報を JSON 形式で表示します。同じ名前のコンテナーとイメージが ある場合には、--type パラメーターを使用して、コンテナーコンテナー (デフォルト) または イメーイメー ジ ジ についての情報を表示するかどうかを指定します。 --format パラメーターを指定して、表示させたい出力部分を指定します (出力例につい ては、docker-inspect(1) man ページを参照してください)。たとえば、以下の形式を 定義して、コンテナーによって公開されるネットワークポートを一覧表示します。

~]$ docker inspect --format='{{.Config.ExposedPorts}}' openshift map[8443/tcp:{} 53/tcp:{}]

3.3.2. 新規 Docker フォーマットのコンテナーイメージの取得

コンテナーを作成するために使用する既存イメージは、2 つの事前に設定されたリポジトリー (Docker Hub (docker.io) および Red Hat Atomic Registry (registry.access.redhat.com)) のいずれ かからダウンロード (取得) するか、またはローカルファイルからインポートできます。

レジストリーを使用したイメージの検索 レジストリーを使用したイメージの検索

docker search <search-term> コマンドを実行して、事前に定義されたレジスターで

イメージを検索します。たとえば、名前または名前空間に文字列 rhscl を含むイメージを 検索するには、以下のコマンドを使用します。

~]$ docker search rhscl

INDEX NAME DESCRIPTION STARS OFFICIAL

AUTOMAT

docker.io docker.io/rhscl/mongodb-26-centos7 A Centos7 based MongoDB v2.6 image for use... 0

redhat.com

registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7 Developer toolset toolchain 0

redhat.com registry.access.redhat.com/rhscl/httpd-24-rhel7 Apache HTTP 2.4 Server 0

redhat.com registry.access.redhat.com/rhscl/mariadb-100-rhel7 MariaDB 10.0 SQL database server 0

redhat.com registry.access.redhat.com/rhscl/mongodb-26-rhel7 MongoDB 2.6 NoSQL database server 0

redhat.com registry.access.redhat.com/rhscl/mysql-56-rhel7 MySQL 5.6 SQL database server 0

redhat.com registry.access.redhat.com/rhscl/nginx-16-rhel7 Nginx 1.6 server and a reverse proxy server 0

[...]

レジストリーからのイメージのダウンロード レジストリーからのイメージのダウンロード

docker pull <image> コマンドを実行して、ローカルで使用するために指定されたイ

メージをシステムにダウンロード (プル) します。イメージの名前のみを指定することは可

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(17)

能ですが、取得元のレジストリーおよび特定のイメージが公開される名前空間を指定する となお望ましいと言えるでしょう。以下の順序に基づく命名規則が使用されます。

[registry/][namespace/]name

たとえば、Red Hat Atomic Registry から Red Hat Developer Toolset ツールチェーンコン ポーネントを使ってイメージを取得するには、以下のコマンドを使用します。

~]$ docker pull registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7

Using default tag: latest

68f6775524af: Download complete 6c3a84d798dc: Download complete Status: Downloaded newer image for

registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7:latest

~]$ docker images registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7 latest 68f6775524af 7 weeks ago 365.5 MB

ファイルからのイメージのロード ファイルからのイメージのロード

docker load < file.tar コマンドを実行してイメージをローカルファイルの

file.tar からロードします。デフォルトで docker pull コマンドはイメージデータを

標準入力からロードします。ファイルからイメージをロードするには、input または

-i パラメーターを使用します。たとえば、docker save コマンドを使用して tar ファイル

に事前に保存された Red Hat Developer Toolset ツールチェーンイメージをロードするに は、以下のコマンドを使用します。

~]$ docker load -i devtoolset.tar

3.3.3. コンテナーの使用

以下のコマンドを使用して、コンテナーの起動、停止、または削除を実行するか、またはコンテ ナー内からアプリケーションを実行します。

新規コンテナーの起動およびコマンドの実行 新規コンテナーの起動およびコマンドの実行

docker run <image> <command> コマンドを実行し、新規コンテナーをイメージから

起動し、指定されたコマンドを実行します。--name パラメーターを使用してコンテナー の名前を指定し、Docker サービスがランダムな名前をコンテナーに割り当てることを防ぎ ます。たとえば、Red Hat Developer Toolset ツールチェーンから作成されたコンテナーで

uname -a コマンド (-a は出力を表示) を実行するには、以下のコマンドを使用します。

~]$ docker run --name devtoolset

registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7 uname -a

Linux 22b819dec3f1 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

~]$ docker ps -a --format "table

(18)

{{.ID}}\t{{.Names}}\t{{.Command}}\t{{.Status}}" CONTAINER ID NAMES COMMAND STATUS

22b819dec3f1 devtoolset "uname -a" Exited (0) 2 seconds ago [...]

既存コンテナーの実行 既存コンテナーの実行

docker start -i <container> コマンドを使用して、直前の例で起動したコンテナー

を実行します (--interactive または -i パラメーターはコンテナーの標準入力を現在の シェルに割り当てるようにします。つまり、コンテナーで実行された出力が表示されるよ うにします):

~]$ docker start -i devtoolset

Linux 22b819dec3f1 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

新規コンテナーの起動およびコンテナーのシェルへの切り替え 新規コンテナーの起動およびコンテナーのシェルへの切り替え

docker run -ti <image> bash コマンドを実行し、イメージから新規コンテナーを起

動し、コンテナー内のインタラクティブシェルに切り替えます。--interactive または

-i パラメーターを --tty または -t パラメーターと共に使用し、Bash シェルが実行され

る疑似 TTY (pseudo-TTY) を割り当てます。以下は例になります。

~]$ docker run -it registry.access.redhat.com/rhscl/devtoolset-4-toolchain-rhel7 bash

bash-4.2$ uname -a

Linux 5e224c8c3878 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

bash-4.2$ exit exit

~]$ docker ps -a --format "table

{{.ID}}\t{{.Names}}\t{{.Command}}\t{{.Status}}" CONTAINER ID NAMES COMMAND STATUS

5e224c8c3878 devtoolset "uname -a" Exited (0) 2 seconds ago [...] コンテナーの削除 コンテナーの削除 docker rm <container> コマンドを実行して、1つ以上のコンテナーを削除し、ホス トのリソースを解放します。たとえば、直前の例で作成されたコンテナーを削除するに は、以下のコマンドを使用します。 ~]$ docker rm devtoolset devtoolset

~]$ docker ps -a | grep devtoolset

3.4. その他のリソース

利用可能な docker コマンドの一覧およびそれらの機能の詳細説明については、docker(1) man ページの COMMANDS セクションを参照してください。

Red Hat Enterprise Linux および Red Hat Atomic プラットフォームの使用および管理について の詳細は、『コンテナーの使用ガイド』を参照してください。

Red Hat Container Development Kit 2.0 Container Development Kit の使用ガイド

(19)

参照

関連したドキュメント

VMWare Horizon HTMLAccess はこのままログインす ればご利用いただけます。VMWare Horizon Client はク

HORS

水道水又は飲用に適する水の使用、飲用に適する水を使

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

LC06111TMT Battery Protection Controller with Integrated MOSFET, 1-Cell Lithium-Ion LC05711ARA Battery Protection Controller with Integrated MOSFET, 1-Cell Lithium-Ion

「Silicon Labs Dual CP210x USB to UART Bridge : Standard COM Port (COM**)」. ※(COM**) の部分の

【その他の意見】 ・安心して使用できる。

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)