このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
docker:20:build [2020/12/23 11:31] y2sunlight [Dockerfile] |
docker:20:build [2020/12/26 21:47] (現在) y2sunlight [Dockerfile] |
||
|---|---|---|---|
| 行 11: | 行 11: | ||
| * [[docker: | * [[docker: | ||
| * Docker コンテナイメージの作成(Bulid) | * Docker コンテナイメージの作成(Bulid) | ||
| - | * [[docker: | ||
| リンク | リンク | ||
| 行 157: | 行 156: | ||
| ==== htmlとphpファイルの設置 ==== | ==== htmlとphpファイルの設置 ==== | ||
| - | 以下のように、hello.tml と info.php を新しく作成します: | + | 以下のように、hello.html と info.php を新しく作成します: |
| - | <code html hello.tml> | + | <code html hello.html> |
| < | < | ||
| < | < | ||
| 行 445: | 行 444: | ||
| <code bash> | <code bash> | ||
| - | $ d$ docker run --name myphp74 -d -p 8080:80 myphp74: | + | $ docker run --name myphp74 -d -p 8080:80 myphp74: |
| 23d84d5ce0837cdbf171695c417fe387793aadbdf497b341d24d398ef9ae809a | 23d84d5ce0837cdbf171695c417fe387793aadbdf497b341d24d398ef9ae809a | ||
| </ | </ | ||
| 行 459: | 行 458: | ||
| これまでの項では、手動でDockerコンテナを作成しイメージとして保存しました。これら一連のDockerイメージの作成過程を自動化してくれるのが「Dockerfile」です。Dockerfile とは、Docker イメージを作成する時のコマンドを1つのファイルにまとめたもので、Docker コンテナの構成情報を記述するためのファイルです。 | これまでの項では、手動でDockerコンテナを作成しイメージとして保存しました。これら一連のDockerイメージの作成過程を自動化してくれるのが「Dockerfile」です。Dockerfile とは、Docker イメージを作成する時のコマンドを1つのファイルにまとめたもので、Docker コンテナの構成情報を記述するためのファイルです。 | ||
| - | これまでの項で作成してものと全く同じDockerイメージを本項では Dockerfile を使って作成します。 | + | これまでの項で作成してものと全く同じDockerイメージを本項では Dockerfile を使って作成します。以下の作業は全てホストで行います。 |
| \\ | \\ | ||
| 行 505: | 行 504: | ||
| # gd | # gd | ||
| # | # | ||
| - | RUN apt update | + | RUN apt-get update |
| - | RUN apt apt install -y zlib1g-dev libpng-dev libjpeg62-turbo-dev \ | + | RUN apt-get install -y zlib1g-dev libpng-dev libjpeg62-turbo-dev \ |
| && docker-php-ext-configure gd --with-jpeg \ | && docker-php-ext-configure gd --with-jpeg \ | ||
| && docker-php-ext-install -j$(nproc) gd | && docker-php-ext-install -j$(nproc) gd | ||
| 行 512: | 行 511: | ||
| # memcached | # memcached | ||
| # | # | ||
| - | RUN apt install -y libmemcached-dev \ | + | RUN apt-get install -y libmemcached-dev \ |
| && pecl install memcached \ | && pecl install memcached \ | ||
| && docker-php-ext-enable memcached | && docker-php-ext-enable memcached | ||
| </ | </ | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| + | |||
| + | > Dockerfileで '' | ||
| + | >> | ||
| + | |||
| + | > また、'' | ||
| + | >> | ||
| Dockerfile の詳細については、以下を参照して下さい: | Dockerfile の詳細については、以下を参照して下さい: | ||
| 行 537: | 行 542: | ||
| * '' | * '' | ||
| * コマンドの最後の引数( '' | * コマンドの最後の引数( '' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <code bash> | ||
| + | $ docker images | ||
| + | REPOSITORY | ||
| + | REPOSITORY | ||
| + | myphp74 | ||
| + | myphp74 | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <code bash> | ||
| + | $ docker history myphp74: | ||
| + | IMAGE CREATED | ||
| + | d849c91871fd | ||
| + | 30fc1a25dfb9 | ||
| + | 17d39386f699 | ||
| + | 778c23eca0cd | ||
| + | 5645b898b5af | ||
| + | 9fc74c528658 | ||
| + | e0878c88c727 | ||
| + | 89628e4477f9 | ||
| + | fd505f1f4cd8 | ||
| + | < | ||
| + | < | ||
| + | ... | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | Dockerfileに記述した降順にレイヤー作成されているのが分かります。'' | ||
| \\ | \\ | ||
| + | |||
| + | ==== Dockerイメージの起動 | ||
| + | |||
| + | Dockerfileから構築したDockerイメージを起動し、Winodws側のプラウザから '' | ||
| + | |||
| + | <code bash> | ||
| + | $ docker run --name myphp74a -d -p 8080:80 myphp74: | ||
| + | 7980e3ed36186de445238eae2193b3f505fed04ac03a50c5ac3adb6cc7a405dd | ||
| + | </ | ||
| + | |||
| + | このように Dockerfile を使えば、Dockerイメージを素早く作れるだけでなく、GitHubなどのリポジトリによってチーム内で共有することもできます。 | ||
| + | |||
| + | \\ | ||
| + | |||
| ===== イメージのアップロード ===== | ===== イメージのアップロード ===== | ||