1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Docker】入門:pythonが実行できるubuntuのコンテナを作成し、Dockerhubにpull

Posted at

はじめに

UdemyでDockerの学習を進めている最中で、途中経過をアウトプットしたいと考えています。
今回は、

  1. ubuntuのコンテナを起動し
  2. pythonをインストール
  3. コンテナをイメージに保存して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
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」をクリックします。
1_リポジトリ作成.png
「Repositry Name」にリポジトリ名を入力し、「Create」をクリックします。
2_リポジトリ作成.png

ubuntuコンテナにpythonをインストールし、DockerHubにpushすることができました!

pullして確認してみます。
リポジトリの「Tags」をクリックし、pullコマンドをコピーします。
3_pull.png

コマンドプロンプトに貼り付け、実行します。

>docker pull hirosen/ubuntu-python:latest

イメージからコンテナを起動し、pythonが実行できることを確認します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?