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オプションなしでコンテナ起動 |
![]() |
| 図 コンテナが起動中か確認 |
コンテナでコマンドを実行(docker container exec)
![]() |
| 図 コンテナでlsコマンド実行 |
-itオプション付きでシェル(/bin/bash)を実行すると、-itオプション付きでコンテナを起動したときと同じように、直接コンテナを操作できる。
![]() |
| 図 コンテナでシェル起動(/bin/bash) |













