このページ内での表記:「ホストOSの対話環境」は背景色を黄色(lightyellow)で表す。「Conainer 内の root 権限の対話環境」は背景色を水色(azure)であらわす。「Conainer 内の一般ユーザ権限の対話環境」は背景色を赤色(#ffeeee)であらわす。「他のPCの対話環境」は紫色(#eeeeff)で表す。
$ docker pull ubuntu:24.04(注意)"docker run" コマンドは、手元に image がない場合は自動的に pull してくれる。 ここではわかりやすさを優先して明示的に Image を pull しておく。24.04: Pulling from library/ubuntu 0622fac788ed: Already exists Digest: sha256:6015f66923d7afbc53558d7ccffd325d43b4e249f41a6e93eef074c9505d2233 Status: Downloaded newer image for ubuntu:24.04
$ docker image lsrepository tag image id created size ubuntu 24.04 a0e45e2ce6e6 4 weeks ago 78.1mb
起動オプション$ docker run --name ubuntu24a -i -t ubuntu:24.04 /bin/bash
# ← コンテナ内の対話環境 (root 権限の bash)
--name
コンテナ名: ubuntu24a-i
: 対話モード。標準入力 (stdin) を開いたままにする。ホストOSの入力がそのまま Container 内の対話環境 (bash) に送られる。-t
: 疑似ターミナル (pseudo-tty) を割り当てる。# whoamiroot
# pwd/
# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
$ ^P ^Q ← 「コントロール+P」キーと「コントロール+Q」キーを順に押す# ← ホストOSとの対話環境に戻る
$ docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 011e2a5be0ac ubuntu:24.04 "/bin/bash" 44 minutes ago Up 44 minutes ubuntu24a
$ docker logs ubuntu24a# whoami ← Container の対話環境の入出力はログに残っている root # pwd / # ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var $
$ docker attach ubuntu24a
# ← コンテナ内の対話環境 (root 権限の bash)
# exit← Container の対話環境を終了する exit
$ ← ホストOSの対話環境に戻る
$ docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker container ls -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 011e2a5be0ac ubuntu:24.04 "/bin/bash" 3 hours ago Exited (0) 4 minutes ago ubuntu24a
docker start
コマンドで停止中の Container を起動する。$ docker start ubuntu24aubuntu24a
(注意) docker start -i
のように -i
オプションを指定すると、最初から Container 内の対話環境とつながる。
$ docker container ls> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75496fff6f39 ubuntu:24.04 "/bin/bash" 3 hours ago Up 10 minutes ubuntu24a
$ docker attach ubuntu24a
# ← Container 内の対話環境とつながる
$ ^P ^Q# ← ホスト OS の対話環境に戻る
$ docker container stop ubuntu24aubuntu24a
$ docker container rm ubuntu24aubuntu24a
$ docker container ls -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES