Docker | Dockerコンテナを作成しよう(Python)

Docker | Dockerコンテナを作成しよう(Python)

今回はDockerのコンテナ生成の流れを理解するために、pytonの環境を作ってみたいと思います。

Dockerコンテナ生成までの流れ

以下に手順を記載します。

1)Docker HubからDocker ImageをPullする

 → Pythonのページはこちら

 

コマンドプロンプトにてコマンドを実行します。

docker pull python
>>
Using default tag: latest
latest: Pulling from library/python
17c9e6141fdb: Pull complete
de4a4c6caea8: Pull complete
4edced8587e6: Pull complete
a7969cffbf46: Pull complete
74fbfde6af91: Pull complete
16fe51aed899: Pull complete
e9ee507bb0de: Pull complete
4d9dbb46d211: Pull complete
3b9b3c4e849c: Pull complete
Digest: 
Status: Downloaded newer image for python:latest
docker.io/library/python:latest

imageが追加されたかを確認するには、Docker Desktop>Imagesをクリックするか、コマンドプロンプトから確認することができます。

コマンドプロンプトで確認する場合は、以下のコマンドです。

docker images
>>
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
wordpress    latest    XXXXXXXXXXXX   5 days ago    609MB
python       latest    XXXXXXXXXXXX   6 days ago    932MB
mysql        5.7       XXXXXXXXXXXX   10 days ago   495MB

2)Docker Imageを起動する

 → Imageを実行することでDocker コンテナが生成されます。

Docker Desktopの Images>pythonの行の「RUN」をクリックすることで、コンテナが生成されます。

下図が、PythonをRUNした後に生成されたコンテナです。

コマンドプロンプトで実行する場合は、以下のコマンドです。

・docker container run:コンテナの生成を行う。対象のImageが存在しない場合は、Docker hubからpullする。

 → –nameオプションで「コンテナ名」を指定することができます。(指定しなかったらランダム名になる)

 → -it オプションで「image」を指定します。

docker run --name miseruIT -it python

・docker container start:生成済のコンテナを起動する。

また、コマンドプロンプトから、稼働中のコンテナを確認するには、以下のコマンドです。

docker ps
>>
CONTAINER ID   IMAGE           COMMAND     CREATED         STATUS         PORTS     NAMES
a8686dd7c351   python:latest   "python3"   6 minutes ago   Up 6 minutes             miseruIT

稼働していないものも含めて確認する場合は「docker ps -a」です。

docker ps -a
>>
CONTAINER ID   IMAGE              COMMAND                  CREATED             STATUS                      PORTS     NAMES
a8686dd7c351   python:latest      "python3"                44 minutes ago      Up 44 minutes                         miseruIT
f2152bfc32f2   wordpress:latest   "docker-entrypoint.s…"   About an hour ago   Exited (0) 59 minutes ago             wordpress-wordpress-1
f102ec9c9647   mysql:5.7          "docker-entrypoint.s…"   About an hour ago   Exited (0) 59 minutes ago             wordpress-db-1

3)コンテナに接続する

生成したコンテナの環境に接続してみましょう。

以下のコマンドを実行します。(great_mayerは今回のコンテナの名前)

docker exec -it miseruIT bash
>>
root@a8686dd7c351:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

無事入ることができました。lsコマンドも実行できます。

この環境下でpythonを起動してみます。

root@a8686dd7c351:/# python
>>
Python 3.11.0 (main, Oct 26 2022, 03:01:09) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.

問題なく起動することができました。

4)コンテナとの接続を解除する

root@a8686dd7c351:/# exit

5)コンテナを停止する

※コンテナ名が「great_mayer」の場合

docker stop miseruIT

6)コンテナを削除する

※コンテナ名が「great_mayer」の場合

docker rm miseruIT

今回は以上です。ではまた!