Docker Imageの入手

続きを調べていく
DockerDesktopを実行できたので、続いてPythonのイメージを取得してPython用のコンテナを用意してみる

コマンドプロンプトを起動し、以下のコマンドを実行

wsl

Ubuntuが起動し、コマンドプロンプトを起動したディレクトリが開く
例:/mnt/○○ など

以下のコマンドを実行してpythonのイメージを入手

docker pull python:3.11.1

見せられないよ

見せられないよ

これでイメージを入手できるが、そのままrunしても想像通りには動かせない
例えば以下のコマンドを実行すると

docker run python:3.11.1

見せられないよ

うんともすんとも言わずに停止してしまう
というのも、ただpythonを実行しただけなので、このままだとそのまま何もせずに終了してしまう

そこでオプションを付けて実行する
使用するオプションは以下
-i (interactive):標準入力を開いて、ユーザーが入力可能にする
-t (tty):疑似端末を割り当てて、書き込んだ内容を見えるようにする

※もしtを付け忘れたら、Ctrl + Dで強制終了すればよい

docker run -it python:3.11.1

見せられないよ

これで入力が可能な状態でpythonコンテナが起動する
printを書き込むと、ちゃんと実行されるのが確認できる

print('hello world')

見せられないよ

exit()で終了すると、コンテナも終了する

他にも、python環境のコンテナを起動したいが、直接pythonを起動したいわけではない場合
例えばpythonファイルを用意して実行したい場合などはshbashなどを追加するとshellやbashを開いてコンテナを起動できる

docker run -it python:3.11.1 bash

見せられないよ

lspwdコマンドが実行できるし、pythonを実行すると、起動できる

見せられないよ

既存のコンテナについて

色々とdocker runを実行したので、その分だけコンテナが作成されている

以下のコマンドでコンテナの一覧を確認できる

docker ps -a

見せられないよ

既存のコンテナを起動するには以下で実行できる

docker start [コンテナID or 名前]

疑似端末で起動するには以下(ただしCOMANDにshbashを指定して作ったコンテナのみ)

docker start -i [コンテナID or 名前]

削除について

ついでに削除も試してみる

まずはコンテナの削除から
以下のコマンドでコンテナの一覧を表示

docker ps -a

見せられないよ

以下のコマンドでコンテナを削除できる

docker rm [コンテナID or 名前]

見せられないよ

次はイメージの削除を試してみる
以下のコマンドでイメージの一覧を表示

docker images

見せられないよ

イメージIDを指定して削除

docker rmi -f [イメージID]

見せられないよ

とりあえずここまで
次回はイメージの作成について調べていきたい

コメント