このページ内での表記:「ホストOSの対話環境」は背景色を黄色(lightyellow)で表す。「Conainer 内の root 権限の対話環境」は背景色を水色(azure)であらわす。「Conainer 内の一般ユーザ権限の対話環境」は背景色を赤色(#ffeeee)であらわす。「他のPCの対話環境」は紫色(#eeeeff)で表す。
グループ名 | guest |
---|---|
グループID | 3000 |
ユーザ名 | guest |
ユーザID | 3000 |
起動オプション$ docker run --name ubuntu24b \ -v /home/docker/ubuntu24b:/mnt/hostos \ -i -t ubuntu:24.04 /bin/bash
# ← コンテナ内の対話環境 (root 権限の bash)
--name
コンテナ名: ubuntu24b-v
host_path:guest_path : ホスト内のディレクトリ host_path を、Container 内の guest_path にマウントする。ホスト内パス | Container内パス |
---|---|
/home/docker/ubuntu24b | /mnt/hostos |
-i
: 対話モード。標準入力 (stdin) を開いたままにする。ホストOSの入力がそのまま Container 内の対話環境 (bash) に送られる。-t
: 疑似ターミナル (pseudo-tty) を割り当てる。# whoamiroot
# pwd/
# grep guest /etc/group
# grep guest /etc/groupguest:x:3000:
# grep guest /etc/passwd
# useradd -m -u 3000 -g 3000 -s /bin/bash guest![]()
# grep guest /etc/passwdguest:x:3000:3000::/home/guest:/bin/bash
# passwd guestNew password: ← 新しいパスワードを入力する(エコーバックされない) Retype new password: ← もう一度新しいパスワードを入力する passwd: password updated successfully
# login guestPassword: ← パスワードを入力する(エコーバックされない)
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.11.0-26-generic x86_64) * Documentation: https://help.ubuntu.com ... Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. $
$ whoamiguest
$ pwd/home/guest
$ ls -aguest@f53dec681fc3:~$ ls -a . .. .bash_logout .bashrc .cache .profile
$ exit← guest の対話環境を終了する。 logout
# ← Container 内の root 権限の対話環境に戻る
Container を一旦停止してから、再び起動する
- (Container 内の root 権限の対話環境で) 対話環境を終了すると Container が停止して、Docker Host の対話環境に戻る。
$ exit← Container 内の root 権限のの対話環境を終了する。 exit
# ← Docker Host の対話環境に戻る- Container は停止している。
$ docker container ls← 動作中の Container 一覧にはない
$ docker container ls -a← 停止中も含めた Container 一覧には存在する CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f53dec681fc3 ubuntu:24.04 "/bin/bash" ... ... ubuntu24b
- 再び Container を起動する。
$ docker start ubuntu24b
$ docker container ls← 動作中の Container 一覧に現れた CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f53dec681fc3 ubuntu:24.04 "/bin/bash" ... ... ubuntu24b
- 現在の端末を Container の対話環境に接続 (attach) する。
$ docker attach ubuntu24b
#- 以前追加した guest ユーザは存在し続けている。
# login guestPassword: ← パスワードを入力する (エコーバックされない)
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.11.0-26-generic x86_64) ← Container内のguestの対話環境がはじまる ... To restore this content, you can run the 'unminimize' command. $ whoamiguest $ exit
← Container内のguestの対話環境を終了する logout
# ← Container 内の root 権限の対話環境に戻る- Container を動作させたまま、Host の対話環境に戻る
# 「コントロール+P」「コントロール+Q」 ← Control-P と Control-Q を順にタイプする read escape sequence$
(Optional) Container を停止して消去する
- (ホストOSの対話環境で) 実行中の Container は "docker stop" コマンドで停止できる。
$ docker container stop ubuntu24bubuntu24b
- (ホストOSの対話環境で) 停止中の Container は "docker container rm" コマンドで消去できる。
$ docker container rm ubuntu24bubuntu24b
- (ホストOSの対話環境で) Container の一覧を表示することで、ubuntu24b が消去されたことを確認する。
$ docker container ls -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
![]()