2月17日(火)1、2コマ目

今日、やったこと

  • コンテナ生成、起動
  • Dockerfileでイメージ作成

今日のホワイトボード

コンテナ生成、起動

Apache Webサーバーのイメージ"httpd"を使って、Webサーバーのコンテナを生成、起動する。

1.イメージ取得

学内のリポジトリ(厳密にはDockerHubのプロキシリポジトリ)から、イメージhttpdを取得。

図 イメージを取得

docker image lsで確認。

図 イメージ確認


2.イメージからコンテナ生成、起動

図 イメージからコンテナ生成、起動

-dオプションで、コンテナをバックグランドで起動。

-pオプションで、 ホスト側のポートとコンテナ側のポートを接続する。

これで、ホスト以外のPCからもコンテナのWebサーバーにアクセスできる。

図 docker container runのオプション


3.コンテナ停止

起動したコンテナは docker container stop コンテナ名 で停止。

図 コンテナ停止


4.コンテナ削除

コンテナを停止しても、コンテナ自体は残る。docker container startで起動できる。

docker container rmで削除。

図 コンテナ削除


Dockerfileでイメージ作成

DockerHub等で公開されているイメージを変更して新たにイメージを作ることもできる。

Dockerfileはイメージ作成の手順書。

docker image buildはDockerfileに従って処理を行う。

図 Dockerfileでイメージを作成する


[Dockerfileでイメージ作成]httpdでWebコンテンツを公開する

httpdをベースにして、イメージにWebコンテンツをコピー。

図 作成するイメージ


1.Dockerfile作成

以下のとおり。


2.Dockerfileからイメージ作成

docker image buildでイメージ作成。

図 Dockerfileをもとにイメージ作成

イメージが作成できているか確認。

図 作成したイメージを確認


3.イメージからコンテナ生成・起動

図 イメージからコンテナ生成、起動

4.確認

コンテナのWebサーバーは80番ポートでリクエストを待っている。

コンテナ生成時にコンテナの80番ポートとホストの5000番ポートを接続しているので、webブラウザで

 http://ホストのIPアドレス:5000

でリクエストすれば、Webコンテンツが表示される。


[Dockerfileでイメージ作成]AlmaLinuxでWebサーバー構築

AlmaLinuxをベースにして、Webサーバアプリケーションhttpdをダウンロード、インストールして、Webサーバーとして稼働するイメージを作成。

図 作成するイメージ


1.Dockerfile作成

以下のとおり。

dnfコマンドでパッケージをダウンロードする際、プロキシサーバーを使う設定が必用。


コンテナはコマンドが実行中のあいだ起動する。

コンテナ起動時にコマンドを実行し、そのコマンドが終了すると、コンテナの終了する。

図 コンテナはコマンド実行中のあいだ起動しつづける

Webサーバーのプロセスはバックグランドで動かすの一般的だが、コンテナではフォアグランドで動かし続ける。


2.Dockerfileからイメージ作成

docker image buildでイメージ作成。

図 Dockerfileをもとにイメージ作成


3.イメージからコンテナ生成・起動

図 イメージからコンテナ生成、起動


4.確認

コンテナのWebサーバーは80番ポートでリクエストを待っている。

コンテナ生成時にコンテナの80番ポートとホストの5000番ポートを接続しているので、webブラウザで

 http://ホストのIPアドレス:5000

でリクエストすれば、Webコンテンツが表示される。


[Dockerfileでイメージ作成]RedHatLinuxでWebサーバー構築、Webコンテンツ公開

AlmaLinuxをベースにして、Webサーバアプリケーションhttpdをダウンロード、インストール、WebコンテンツをコピーしてWebサーバーとして稼働するイメージを作成。

AlmaLinuxはRedHatクローン。

AlmaLinuxと同じようにパッケージでアプリケーションをインストールできる。

図 作成するイメージ


1.Dockerfile作成

以下のとおり。

基本的にAlmaLinuxの場合とおなじ。


2.Dockerfileからイメージ作成

docker image buildでイメージ作成。

図 Dockerfileをもとにイメージ作成


3.イメージからコンテナ生成・起動

図 イメージからコンテナ生成、起動


4.確認

コンテナのWebサーバーは80番ポートでリクエストを待っている。

コンテナ生成時にコンテナの80番ポートとホストの5000番ポートを接続しているので、webブラウザで

 http://ホストのIPアドレス:5000

でリクエストすれば、Webコンテンツが表示される。


今日が最終回

これでオペレーティングシステムⅢは終了。

Dockerのテストをするかもしれません。テストをする際は、予告します。



このブログの人気の投稿

12月23日(火)1、2コマ目

1月6日(火)1、2コマ目

12月9日(火)1、2コマ目