質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

1104閲覧

dockerfileのベースイメージの違いについて

supermaruetsu

総合スコア148

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/04/13 08:14

現在手元に2つのDockerfileがあります。
冒頭の部分について理解できない事があり、質問しました。

一つ目のDockerfileはFROM centos:7.6.1810で始まっています。
これは、そのままcentosのイメージをベースに、その下に書かれているphpやpython、各種ライブラリなど、必要なものを取ってきている事がイメージできます。
気になるのはもう一つのDockerfileです。これは冒頭がFROM python:3.7となっています。

OSのイメージが無く、いきなりpythonを取って来ています。
この場合、OSは何が動いているのでしょうか。もしいきなりプログラムの取得から入っていいのであれば、一つ目のFROM centosは不要という事になります。

詳しい方、ご教示ください。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

イメージは Docker Hub というサイトから取得しています。
Docker のイメージの名前は レポジトリ名:タグ名 で識別します。
centos:7.6.1810 の場合、centos がレポジトリ名、7.6.1810 がタグ名であり、レポジトリ名 centos を検索バーに入力して、表示されたレポジトリの「Tags」タブからタグ名 7.6.1810 で絞り込めば、該当イメージのページが出てきます。

質問のイメージの場合、以下になります。

レポジトリの Descripion のページを参照すると、イメージの作成に使用した Dockerfile のソースが置いてある GitHub のリンクがあります。

GitHub - docker-library/python: Docker Official Image packaging for Python

この場合、OSは何が動いているのでしょうか。もしいきなりプログラムの取得から入っていいのであれば、一つ目のFROM centosは不要という事になります。

python:3.7 のイメージも、そのイメージを作成した際に何らかのベースとなるイメージ (例えば、Ubuntu:16.04 とか) を使っています。
Python を利用したイメージを作成したい場合に、ベースイメージに centos:centos7.6.1810python:3.7 のどちらを使うかですが、自分で Python 3.7 環境を作るなら、centos:centos7.6.1810 を使えばいいですし、その手間を省くのであれば、python:3.7 のイメージを使うこともできます。

自分はいつもディストリビューション公式のイメージをベースイメージに使って、Python も含めて必要なアプリケーションの導入は自分で Dockerfile に書いて、イメージを作っています。

linux であれば、ディストリビューションがなんであるかは以下のようにしても確認できます。

【3分理解】Linuxディストリビューションの確認方法

投稿2020/04/13 08:21

編集2020/04/13 10:14
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

supermaruetsu

2020/04/14 02:27

とても分かりやすくご回答いただきありがとうございました。 実装、運用のイメージができました!!
guest

0

投稿2020/04/13 08:34

inductor

総合スコア428

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問