はじめに
UdemyでDockerの学習を進めている最中で、途中経過をアウトプットしたいと考えています。
今回は、
- ubuntuのコンテナを起動し
- pythonをインストール
- コンテナをイメージに保存してDockerHubにpushする
ことをやっていきたいと思います。
環境
- Windows10
- Docker version 24.0.6
1.コンテナを起動
以下のコマンドでubuntuのコンテナを起動します。
>docker run --name ubuntu-python -it ubuntu bash
2.pythonをインストール
apt-getのアップデートをします。 apt-get update
root@[id]:/# apt-get update
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
.
.
Get:18 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [28.1 kB]
Fetched 27.3 MB in 21s (1333 kB/s)
Reading package lists... Done
sudoをインストールします。
root@[id]:/# apt-get install sudo
Reading package lists... Done
.
.
Unpacking sudo (1.9.9-1ubuntu2.4) ...
Setting up sudo (1.9.9-1ubuntu2.4) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
pythonをインストールします。
root@[id]:/# sudo apt install python3
Reading package lists... Done
.
.
running python post-rtupdate hooks for python3.10...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
インストールされたか確認します。
root@[id]/# python3 --version
Python 3.10.12
コンソールでpythonを実行してみます。
root@5[id]:/# python3
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('aaa')
aaa
>>> exit()
root@[id]:/#
pythonファイルを作成します
workフォルダを作成します。
root@[id]/# mkdir work
workフォルダに移動します。
root@[id]/# cd work/
pythonファイル作成します。
root@[id]:/work# touch test.py
vimをインストールします。
root@[id]:/work# apt install vim
エディタでpythonファイルを開き、aaaと出力するスクリプトを書いて保存します。
root@[id]:/work# vim test.py
print('aaa')
コンテナから抜けます。
root@[id]:/work# exit
3.コンテナをイメージに保存してDockerHubにpush
コンテナ一覧を確認します
>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[id] ubuntu "bash" 17 minutes ago Exited (0) 5 minutes ago ubuntu-python
コンテナをイメージにします。
>docker commit ubuntu-python ubuntu-python:updated
sha256:68bf5bacaf9b952cc652c9486660dc22e473b857ced53a43054715d961e6e2de
>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-python updated 68bf5bacaf9b About a minute ago 197MB
DockerHubにリポジトリをつくります
以下のURLからDockerHubにログインします。
DockerHub
「Create Repositry」をクリックします。
「Repositry Name」にリポジトリ名を入力し、「Create」をクリックします。
ubuntuコンテナにpythonをインストールし、DockerHubにpushすることができました!
pullして確認してみます。
リポジトリの「Tags」をクリックし、pullコマンドをコピーします。
コマンドプロンプトに貼り付け、実行します。
>docker pull hirosen/ubuntu-python:latest
イメージからコンテナを起動し、pythonが実行できることを確認します。