Docker:【チュートリアルやってみた】基本編
目次
2ページ目
Dockerコンテナ確認コマンド
実行中のコンテナの確認
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- コンテナではなくDocker自体に問い合わせるコマンド
- 実行中のコンテナがあれば出力される
- 結果考察
- ヘッダのみ出力された
- 現在実行中のコンテナはない
これまでに実行したコンテナの確認
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 114c9f74f04e alpine "echo 'hello from al…" 10 minutes ago Exited (0) 10 minutes ago gracious_galois 990f27013637 alpine "ls -l" 20 minutes ago Exited (0) 20 minutes ago vibrant_villani be19cc34d51b hello-world "/hello" About an hour ago Exited (0) About an hour ago condescending_almeida
- 「-a」オプション
- 実行が終わったコンテナを表示する
- 結果考察
- これまでに実行されたコマンドが一覧表示された
- COMMAND列を見ると、先ほど実行した「ls -l」「echo …」があるのが分かる
コンテナに入ってコマンドを実行する
やりたいことの説明
- 前項では1つのコマンドのみを実行した
- 実行が終わるとコンテナが閉じられ、使い終わったコンテナとして履歴に残る
- それならば、コンテナを開いてコマンドを実行できないか?を試す
- Alpine Linuxへのログインのようなこと
うまくいかない例
sudo docker run alpine /bin/sh
- ここでトライしようとしたことは、コンテナでshellを起動すること
- shellを起動すればそのshellに対して続けてコマンドを実行できるかも?
- しかし、
- 何も出力されない
- これは正しい動き
- 結果考察
- 1.alpineに入る
2.引数何もなしでshellを実行
3.戻ってきている
- そのため、出力がないのは当たり前
- 1.alpineに入る
うまく行く例(「-it」を使う)
lsコマンド実行
sudo docker run -it alpine /bin/sh
ls
bin dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
- 引数に「-it」が付いている
- 「-i」と「-t」を合体させている
- こんな表記ができるのも特徴
- 結果考察
- プロンプトが切り替わった
- 通常の(頭にdocker runを付けない)コマンドが実行できている
他のコマンドも試す
uname -a
Linux a7ee4ecb8865 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 Linux
- 動きを再確認
- WindowsにWSL2がいて
- そこにUbuntuがインストールされて
- Dockerコンテナとして実行されたAlpine Linux
- shellコマンドを実行している
- 結果考察
- 5.10.60.1-microsoft-standard-WSL2
- Linuxカーネル(今の環境はWSL2)
- 5.10.60.1-microsoft-standard-WSL2
次はチュートリアル(Web編)
- 記事の概要
- Webページを実行することのできるサンプルイメージを使う
- コンテナの停止、実行履歴削除の操作方法
- Webサーバーの機能を持ったコンテナでWebページを表示
リファレンス
- Samples | Docker Documentation
- チュートリアル、いっぱいある
- labs/beginner at master · docker/labs · GitHub
- チュートリアルの最初にあったこれを選んだ

