2月16日(月)2コマ目

今日、やったこと

dockerコマンドでイメージ、コンテナを操作

今日のホワイトボード

dockerコマンド

前回、インストールしたコンテナエンジンのDockerで、イメージ(コンテナの素)やコンテナを操作するには、dockerコマンドを使う。

dockerコマンドは2パターンの実行方法があるが、授業では新しい(とはいえ、10年は経過しているけど)実行方法を使う。

イメージダウンロード(docker image pull)

イメージはコンテナの素。イメージからコンテナを作る。

DockerHubやその他のリポジトリからイメージをダウンロードする。

学内にあるDockerリポジトリ(厳密には、DockerHubのプロキシ)からイメージubuntuの最新版をダウンロードする。

図 イメージをダウンロード


イメージ一覧(docker image ls)

イメージがダウンロードできたか確認。

図 イメージ一覧表示


イメージに別名をつける(docker image tag)

ダウンロードしたイメージ名は

 repo1.info.yitjc.ac.jp:8082/ubuntu:latest

と長い。別名 ubuntu:latest を命名。

図 イメージに別名を命名

docker image lsで確認すると、イメージがコピーされたように見える。

図 イメージ一覧表示


イメージからコンテナ生成、起動(docker container run)

docker container run ならイメージからコンテナを生成し、起動まで行う。

docker container createはイメージからコンテナを作るだけ。コンテナの起動は行わない。

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

オプションがいくつか指定されている。

図 docker container runコマンドのオプション

-itオプション付きでコンテナを生成・起動したので、コンテナのシェルのプロンプトが表示される。

下図のlsコマンドはコンテナで実行。ホスト側で実行したわけではない。

図 コンテナでlsコマンド実行


起動中のコンテナ一覧を表示(docker container ls)

docker container lsで起動中のコンテナ一覧が表示される。

図 起動中のコンテナ一覧


コンテナからデタッチ(Ctrl+P、Ctrl+Q)

コンテナを直接操作できる状態(コンテナにアタッチ)だが、バックグランドで動かして(コンテナからデタッチ)、ホスト側に戻るには、Ctrlキー+P、Ctrlキー+Qでデタッチできる。

図 コンテナからデタッチ


コンテナを停止する(docker container stop)

起動中のコンテナを停止。

図 起動中のコンテナを停止

docker container lsで確認すると、停止中のコンテナは表示されない。

停止中のコンテナも出力するには、-aオプション付きで実行

図 docker container lsでコンテナ一覧確認(停止中のコンテナは表示しない)

STATUS列が"Exited"なら、コンテナは停止中。


停止中のコンテナを起動(docker container start)

docker container startで停止中のコンテナを起動。

図 停止中のコンテナを起動

コンテナ一覧で確認。STATUS列が"Up"なら、起動中。

図 起動中のコンテナ一覧表示

コンテナを-iオプションなしで起動

-iオプション付きで起動すると、コンテナにアタッチして直接操作できる。
-iオプションなしで起動すると、コンテナはバックグランドで起動する。
図 -iオプションなしでコンテナ起動

図 コンテナが起動中か確認

コンテナでコマンドを実行(docker container exec)

アタッチしていないコンテナでコマンドを実行するには、docker container execでコマンドを実行できる。
図 コンテナでlsコマンド実行

-itオプション付きでシェル(/bin/bash)を実行すると、-itオプション付きでコンテナを起動したときと同じように、直接コンテナを操作できる。
図 コンテナでシェル起動(/bin/bash)

次回は

コンテナイメージを作る。




このブログの人気の投稿

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

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

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