Docker は、Linux コンテナー用のオープン プラットフォーム管理ツールです。これは、開発者とシステム管理者がアプリケーションをビルドして軽量コンテナーにパッケージ化するための手段を提供します。 Docker は次のコンポーネントで構成されています:
- Docker エンジン – ポータブルで軽量なランタイムおよびパッケージング ツール
- Docker ハブ – アプリケーションを共有し、ワークフローを自動化するためのクラウド サービス
Docker は、イメージ ベースのアプリケーション コンテナーを作成するために使用されます。イメージベースのコンテナーは、個々のランタイム スタックを含むアプリケーションを 1 つのコンテナーにパッケージ化します。これにより、コンテナはホスト オペレーティング システムおよびカーネル バージョンから独立したものになります。その結果、ラップトップ、データセンターの仮想マシン、および任意のクラウドで、同じアプリケーションを変更せずに実行できます。このコンテナーを Docker を実行する別のマシンに転送し、互換性の問題なしでアプリケーションを実行できます。
コンテナからのイメージの作成
「docker commit」を使用して、コンテナーの現在の状態を新しいイメージとして保存できます。 " 指図。これは、コンテナーを変更し、後で使用するために変更を新しいイメージにコミットする場合に便利です。
スライドの例では、centos:7 イメージから「geeklab」という名前の新しいコンテナーを作成し、コンテナーで bash シェル コマンドを実行します。
# docker run -i -t --name geeklab centos:7 /bin/bash [root@873abc18f59d /]#
コンテナー内から、yum コマンドを使用して httpd パッケージをインストールします。
[root@873abc18f59d /]# yum install httpd
exit コマンドを使用して、実行中のコンテナーを停止します。
[root@873abc18f59d /]# exit exit
「docker commit」コマンドは、変更を新しいイメージに保存します。 -m オプションを使用して、変更を説明するメッセージを提供します。 -a を使用します 著者情報を提供するオプション。コンテナー ID またはコンテナー名、イメージ名、およびタグを指定します。例:
# docker commit -m="CentOS 7 With httpd installed" -a "Geek Lab" geeklab centos7/httpd:v1 sha256:b3c42dd36e247cabcfaf134afb4765e9853ebfbe856c8d785f65cfafc9fd53cd
docker images コマンドの出力に新しいイメージが含まれるようになりました。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos7/httpd v1 b3c42dd36e24 20 seconds ago 334 MB
Dockerfile からのイメージの作成
docker build コマンドを使用して、「Dockerfile」という名前のファイルに含まれる指示から新しいイメージを作成します 」。 Dockerfile の形式は次のとおりです。
# Comment INSTRUCTION arguments
命令は大文字と小文字を区別しませんが、引数と区別するために命令を大文字にする慣例があります。 Docker は、Dockerfile 内の命令を順番に実行します。基本イメージから新しいイメージを作成します。最初の命令は FROM で、使用する基本イメージを指定します。例:
FROM centos:7
RUN 命令を使用して、現在のイメージの上にある新しいレイヤーで実行するコマンドを指定し、結果をコミットします。例:
RUN yum –y install httpd
ENTRYPOINT 命令は、イメージから作成されたコンテナーが実行するコマンドを指定します。例:
ENTRYPOINT /usr/sbin/httpd –D FOREGROUND
すべての手順の説明については、dockerfile の man ページを参照してください。次の URL には、利用可能なすべての Dockerfile 命令の説明、使用法、および例も記載されています:https://docs.docker.com/reference/builder/.
画像またはコンテナの保存と読み込み
Docker Hub にアクセスできないシステムで使用するイメージとコンテナーの tar ファイルを作成できます。 「docker save」を使用します 」 コマンドを使用して、イメージを tar ファイルに保存します。リポジトリ内のすべてのイメージを tar ファイルに保存するか、特定のイメージを tar ファイルに保存できます。 STDOUT を tar ファイルにリダイレクトするか、-o オプションを使用して出力 tar ファイル名を指定して、tar ファイルを作成します。
次の例では、stdout をリダイレクトして、centos リポジトリ内のすべてのイメージを centos-all.tar に保存します。
# docker save centos > centos-all.tar
次の例では、centos:latest イメージを centos-lates.tar ファイルに保存します。
# docker save -o=centos-latest.tar centos:latest
docker load コマンドを使用して、イメージを tar ファイルからローカルの Docker リポジトリにロードします。次の例では、centos-all.tar ファイルからイメージを読み込みます:
# docker load --input centos-all.tarDocker World 初心者向けガイド