Dockerイメージの使用法
コンテナーを実行するときに、使用されるイメージがローカルに存在しない場合、docker はそれを docker イメージ ウェアハウスから自動的にダウンロードします。デフォルトでは、Docker Hub のパブリック イメージ ソースからダウンロードされます。
以下を学びましょう:
1. ローカル Docker ホストイメージを管理および使用します
2. イメージリストを作成します
ローカルミラーをリストするには、
docker イメージ
を使用できます。ザ・ホスト。php@php:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB php 5.6 f40e9e0f10c8 9 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B training/webapp latest 6fae60ef3446 11 months ago 348.8 MB各オプションの説明:
- REPOSTITORY:
- 画像のウェアハウスソースを示します
- 画像のタグ
- 画像ID
- イメージ作成時間
- イメージサイズ
同じウェアハウス ソースは、このウェアハウス ソースの異なるバージョンを表す複数の TAG を持つことができます。たとえば、ubuntu ウェアハウス ソースには、次のタグがあります。 15.10、14.04 などのさまざまなバージョンでは、REPOSTITORY:TAG を使用してさまざまなイメージを定義します。
php@php:~$ docker run -t -i ubuntu:15.10 /bin/bash root@d77ccb2e5cca:/#バージョン 14.04 の ubuntu システム イメージを使用してコンテナーを実行する場合、コマンドは次のようになります。次のように:
php@php:~$ docker run -t -i ubuntu:14.04 /bin/bash root@39e968165990:/#イメージのバージョン ラベルを指定しない場合、たとえば、ubuntu のみを使用する場合、docker はデフォルトで ubuntu:latest イメージを使用します。
新しいイメージを取得します
ローカル ホスト上に存在しないイメージを使用する場合、Docker はイメージを自動的にダウンロードします。このイメージを事前にダウンロードしたい場合は、docker pull コマンドを使用してダウンロードできます。
Cphp@php:~$ docker pull ubuntu:13.10
13.10: Pulling from library/ubuntu
6599cadaf950: Pull complete
23eda618d451: Pull complete
f0be3084efe9: Pull complete
52de432f084b: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3
Status: Downloaded newer image for ubuntu:13.10
ダウンロードが完了したら、このイメージを直接使用してコンテナを実行できます。 イメージの検索
Docker Hub Web サイトからイメージを検索できます。Docker Hub の URL は次のとおりです。https://hub.docker.com/ docker search コマンドを使用してイメージを検索することもできます。たとえば、Web サービスとして httpd ミラーが必要です。 docker search コマンドを使用して httpd を検索し、適切なイメージを見つけることができます。
php@php:~$ docker search httpd
NAME:
イメージウェアハウスソースの名前DESCRIPTION:
画像の説明OFFICIAL:
Dockerは正式にリリースされましたか?画像をドラッグ
上の画像 httpd イメージの正式バージョンの場合は、コマンド docker pull を使用してイメージをダウンロードします。
php@php:~$ docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
8b87079b7a06: Pulling fs layer
a3ed95caeb02: Download complete
0d62ec9c6a76: Download complete
a329d50397b9: Download complete
ea7c1f032b5c: Waiting
be44112b72c7: Waiting
ダウンロードが完了したら、この画像を使用できます。 php@php:~$ docker run httpd
イメージを作成する
Docker イメージ ウェアハウスからダウンロードしたイメージがニーズを満たさない場合、次の 2 つの方法でイメージを変更できます。 1. 作成済みのコンテナから画像を更新し、この画像を送信します
2. Dockerfile コマンドを使用して新しいイメージを作成します
イメージを更新します
イメージを更新する前に、イメージを使用してコンテナーを作成する必要があります。php@php:~$ docker run -t -i ubuntu:15.10 /bin/bash root@e218edb10161:/#は、実行中のコンテナ内で apt-get update コマンドを使用して更新します。
操作が完了したら、exitコマンドを入力してコンテナを終了します。
現時点での ID e218edb10161 のコンテナーは、ニーズに応じて変更されたコンテナーです。コマンド docker commit を通じてコンテナーのコピーを送信できます。
php@php:~$ docker commit -m="has update" -a="php" e218edb10161 php/ubuntu:v2 sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
各パラメータの説明:
-m:投稿された説明情報
-a:指定された画像作者
e218edb10161:コンテナID
php/ubuntu ; コンテナを開始するには
イメージをビルドしますphp@php:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php/ubuntu v2 70bf1840fd7c 15 seconds ago 158.5 MB ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB php 5.6 f40e9e0f10c8 9 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B training/webapp latest 6fae60ef3446 12 months ago 348.8 MB
docker build を使用して、新しいイメージを最初から作成します。これを行うには、イメージの構築方法を Docker に指示するための一連の命令を含む Dockerfile を作成する必要があります。
php@php:~$ docker run -t -i php/ubuntu:v2 /bin/bash root@1a9fbdeb5da3:/#各コマンドは画像上に新しいレイヤーを作成します。各コマンドの接頭辞は大文字である必要があります。 最初の FROM は、使用するイメージ ソースを指定します。
RUN コマンドは、イメージ内のコマンドを実行し、何をインストールするかを docker に指示します。 。 。
次に、Dockerfile ファイルを使用して、docker build コマンドを通じてイメージをビルドします。php@php:~$ cat Dockerfile FROM centos:6.7 MAINTAINER Fisher "fisher@sudops.com" RUN /bin/echo 'root:123456' |chpasswd RUN useradd php RUN /bin/echo 'php:123456' |chpasswd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D
パラメータの説明:
-t
: 作成するターゲットイメージ名を指定します
.: Dockerfileファイルが配置されているディレクトリ。Dockerfileの絶対パスを指定できます
- Docker イメージを使用して作成を表示します イメージは既にリストに存在し、イメージ ID は 860c279d2fec です
php@php:~$ docker build -t php/centos:6.7 . Sending build context to Docker daemon 17.92 kB Step 1 : FROM centos:6.7 ---> d95b5ca17cc3 Step 2 : MAINTAINER Fisher "fisher@sudops.com" ---> Using cache ---> 0c92299c6f03 Step 3 : RUN /bin/echo 'root:123456' |chpasswd ---> Using cache ---> 0397ce2fbd0a Step 4 : RUN useradd php ......
新しいイメージを使用してコンテナを作成できます
php@php:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php/centos 6.7 860c279d2fec About a minute ago 190.6 MB php/ubuntu v2 70bf1840fd7c 17 hours ago 158.5 MB ubuntu 14.04 90d5884b1ee0 6 days ago 188 MB php 5.6 f40e9e0f10c8 10 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 5 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B centos 6.7 d95b5ca17cc3 6 months ago 190.6 MB training/webapp latest 6fae60ef3446 12 months ago 348.8 MB
上記から、新しいイメージが既に作成されていることがわかります作成したユーザー php が含まれています- イメージ タグを設定します
docker tag コマンドを使用して、イメージに新しいタグを追加できます。
php@php:~$ docker run -t -i php/centos:6.7 /bin/bash [root@41c28d18b5fb /]# id php uid=500(php) gid=500(php) groups=500(php)
dockerタグのイメージID、ここでは860c279d2fec、ユーザー名、イメージソース名(リポジトリ名)、新しいタグ名(タグ)です。
りー