前提
- Windows10での環境構築
- Docker Hubのアカウント登録
- Docker Desktopのインストール
- VSCode のインストール
目標
Debian+python の環境が作りたい
(python:3.9.15 + Debian:slim-bullseye)
構築手順
①Docker Desktopをログインして起動させておく。
※これをやらないとdockerコマンドがcmd上で受け付けられずエラーとなるので注意。
※ちなみに、dockerコマンドについてはpathが通ってるはずなので、ローカル環境のどの階層で叩いても受け付けてくれる。
②Docker Hub より理想のイメージを検索して探す。
③今回の場合はpythonと検索窓に入力し、OverviewのタブからTagsのタブに切り替える。(下記キャプチャ)
※この際、OSの名前がいつもと違うので下記を参照してDebianやUbuntuやalpineなど選定する。(slimはあってもよい)
alpine,bullseye, buster, slim, stretch, jessie, slim-buster, windowsservercore, latestどれを選ぶべきか?
④キャプチャを例に挙げると3.9.15-slim-bullseyeをpullしたいので右側の白枠のコマンドをコピペして実行する
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker pull python:3.9.15-slim-bullseye
3.9.15-slim-bullseye: Pulling from library/python
a603fa5e3b41: Pull complete
b00aaacf759c: Pull complete
d50f75309cbe: Pull complete
eea95839e7aa: Pull complete
768bc4d5c5fd: Pull complete
Digest: sha256:9ef969a374118f28a61261e2b018a7f9debcc0dc1342481bd8b8693c1457f46d
Status: Downloaded newer image for python:3.9.15-slim-bullseye
docker.io/library/python:3.9.15-slim-bullseye
お、うまくいったっぽい?
pullできてるかコマンドで確認してみよう
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.9.15-slim-bullseye a612918ff2a3 12 days ago 125MB
docker images のなかにいるということは pullがうまくいっているってことだから、めちゃくちゃ感動。
⑤imageを無事に持ってこれたので起動してみる
pullしてきた際のコマンドdocker pull python:3.9.15-slim-bullseyeの「pull」を「run」に変えれば行ける。
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker run python:3.9.15-slim-bullseye
なんにも成功とかは出ないが
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 2 minutes ago Up 2 minutes peaceful_lovelace
ps起動中のコンテナ確認したらコンテナが作られてて、起動もしてる!
ちなみに、docker runの時にdocker pullの処理が走ったので調べてみたところ、下記処理なのが分かった。(つまりpullしたものと違う物をrunしようとしてたってことか…)
docker pull <イメージ名> で取得していないDocker Imageを docker run の際に指定すると自動的にDockerHubへ取得しに行きます。基本的に docker pull <イメージ名> は省略して使用することが多いですが、省略した場合にも暗黙的に pull を行っていることを意識して使用すると良いでしょう。
⑥最後にコンテナに入ってみる
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 2 hours ago Up 11 minutes peaceful_lovelace
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker exec -it 5d973bad9bc6 bash
root@5d973bad9bc6:/#
⑦無事に入れたので最後にコンテナを削除
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 16 seconds ago Up 14 seconds peaceful_lovelace
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker rm 6c04b4808e43
6c04b4808e43
お世話になったコマンドたち
- docker hubからimageを持ってきて使用したい
- docker pull [イメージ]
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker pull python:3.9.15-slim-bullseye
3.9.15-slim-bullseye: Pulling from library/python
a603fa5e3b41: Pull complete
b00aaacf759c: Pull complete
d50f75309cbe: Pull complete
eea95839e7aa: Pull complete
768bc4d5c5fd: Pull complete
Digest: sha256:9ef969a374118f28a61261e2b018a7f9debcc0dc1342481bd8b8693c1457f46d
Status: Downloaded newer image for python:3.9.15-slim-bullseye
docker.io/library/python:3.9.15-slim-bullseye
- docker imageを削除したい
- 1, docker images
- 2, docker rmi [IMAGE ID]
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.9.15-slim-bullseye a612918ff2a3 12 days ago 125MB
python latest ee4e7a0f1c35 12 days ago 932MB
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker rmi ee4e7a0f1c35
Untagged: python:latest
Untagged: python@sha256:10fc14aa6ae69f69e4c953cffd9b0964843d8c163950491d2138af891377bc1d
Deleted: sha256:ee4e7a0f1c354d9996229a765d0785df2671252c1822ae111015d37dcf5f765b
Deleted: sha256:6d971ef507ecface93aeb9e6a97642848dc9f94c5c8e4bceae4b0f07905289c7
Deleted: sha256:fc48f5f708bf2e4adb941384fdb08a9e5fce37408d261e8697e32c4bfb0597bd
Deleted: sha256:51c32063b4d6f6ce96defd37adb759ae64754641297c8f8fceaca8edf5e50689
Deleted: sha256:024f67f1a8df25f6582053cdcf4ec351a2f14a16ab542c7d04e1d7d37354093f
Deleted: sha256:876d5e0a1e0c18e96911945dd63169f4bf995ae8cd94ce85a395486fc459350d
Deleted: sha256:412b2615d27d6b0090558d25b201b60a7dff2a40892a7e7ca868b80bf5e5de41
Deleted: sha256:dbce1593502d39c344ce089f98187999f294de5182a7106dcb6c9d04ce0c7265
Deleted: sha256:8953bf5d24149e9b2236abc76bd0aa14b73828f1b63e816cb4b457249f6125bc
Deleted: sha256:ccba29d6937047c719a6c048a7038d3907590fbb8556418d119469b2ad4f95bc
- コンテナを削除したい
- 1, docker ps
- 2, docker rm [コンテナID]
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 16 seconds ago Up 14 seconds peaceful_lovelace
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker rm 6c04b4808e43
6c04b4808e43
- コンテナを停止→起動したい
- 1, docker stop [コンテナID]
- 2, docker start [コンテナID]
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 2 minutes ago Up 2 minutes peaceful_lovelace
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker stop 5d973bad9bc6
5d973bad9bc6
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 2 hours ago Exited (137) 7 seconds ago peaceful_lovelace
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker start 5d973bad9bc6
5d973bad9bc6
C:\Users\vanis\OneDrive\デスクトップ\workspace>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d973bad9bc6 python:3.9.15-slim-bullseye "python3" 2 hours ago Up About a minute peaceful_lovelace