Quantcast
Viewing all articles
Browse latest Browse all 3135

Docker Hub OFFICIAL の VMware Photon リポジトリが公開されました。

VMware Photon OS の、Docker Hub オフィシャルリポジトリが公開されました。

Docker コンテナイメージが「docker pull photon」でダウンロードできます。

 

Three New Official Repos Join the Docker Library

http://blog.docker.com/2016/01/three-new-official-repos-join-the-docker-library/http://blog.docker.com/2016/01/three-new-official-repos-join-the-docker-library/

 

Docker Hub の photon リポジトリ。

https://hub.docker.com/r/library/photon/https://hub.docker.com/r/library/photon/

 

リポジトリの Tag を見ると、現時点(2016/01)でインストーラの ISO イメージが公開されている

Photon OS 1.0 TP2 と、それよりも新しい 1.0 RC が公開されています。

この時点の latest Tag は 1.0RC のイメージに割り当てられています。

Image may be NSFW.
Clik here to view.
Image.png

 

ということで、Docker Hub オフィシャルのイメージからコンテナを起動してみます。

 

オフィシャル photon イメージからコンテナ起動。

 

Docker ホストは、Photon OS 1.0 TP2 を使用しています。

root [ ~ ]# cat /etc/photon-release

VMware Photon Linux 1.0 TP2

 

今回の Docker ホストは、photon21 というホスト名にしています。

root [ ~ ]# uname -n

photon21

 

Docker Hub のオフィシャルの photon はこれです。

NAME に「/」がなく、OFFICIAL が [OK] になっています。

root [ ~ ]# docker search photon | grep -v /

NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

photon                               Photon OS is a technology preview of a min...   5         [OK]

 

イメージをダウンロード(pull)してみます。

タグなしで「photon」と指定しているので、「photon:latest」がダウンロードされます。

root [ ~ ]# docker pull photon

Using default tag: latest

latest: Pulling from library/photon

2b04b19ccb4f: Pull complete

a7d41096d06c: Pull complete

b12b5ead0dad: Pull complete

library/photon:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.

Digest: sha256:b2848958bab911122e8469411184ab683d8105859497ecb33bb9f3760ace6ce0

Status: Downloaded newer image for photon:latest

 

ダウンロードされました。

root [ ~ ]# docker images photon

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

photon              latest              b12b5ead0dad        2 weeks ago         119.1 MB

 

コンテナを起動してみます。

起動と同時にコンテナの中に入っていることが、プロンプトとホスト名からわかります。

root [ ~ ]# docker run -it photon

root [ / ]# uname -n  ★ここからコンテナの中。

4ee5f47acd72

 

latest から起動したコンテナの Photon OS のバージョンは 1.0 RC になっています。

root [ / ]# cat /etc/photon-release

VMware Photon Linux 1.0-RC

PHOTON_BUILD_NUMBER=09637bc

 

Photon OS では、yum のかわりに tdnf という yum 互換コマンドで RPM パッケージを管理します。

コンテナイメージに登録済みのリポジトリを見てみます。

root [ / ]# tdnf repolist

repo id             repo name                               status

photon              VMware Photon Linux 1.0(x86_64)         enabled

photon-updates      VMware Photon Linux 1.0(x86_64)Updates  enabled

lightwave           VMware Lightwave 1.0(x86_64)            enabled

 

tdnf は、yum と同様のリポジトリ参照設定をします。

今回のコンテナでは、このように設定されていました。

tdnf / yum コマンドを実行しなくても、baseurl に設定されている URL に Web ブラウザなどで

アクセスすると、実際にどのような RPM が用意されているのか確認できます。

root [ / ]# ls /etc/yum.repos.d/

lightwave.repo  photon-iso.repo  photon-updates.repo  photon.repo

root [ / ]# cat /etc/yum.repos.d/photon.repo

[photon]

name=VMware Photon Linux 1.0(x86_64)

baseurl=https://dl.bintray.com/vmware/photon_release_1.0_RC_x86_64

gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY

gpgcheck=1

enabled=1

skip_if_unavailable=True

root [ / ]# cat /etc/yum.repos.d/photon-updates.repo

[photon-updates]

name=VMware Photon Linux 1.0(x86_64)Updates

baseurl=https://dl.bintray.com/vmware/photon_updates_1.0_RC_x86_64

gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY

gpgcheck=1

enabled=1

skip_if_unavailable=True

root [ / ]# cat /etc/yum.repos.d/lightwave.repo

[lightwave]

name=VMware Lightwave 1.0(x86_64)

baseurl=https://dl.bintray.com/vmware/lightwave

gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY

gpgcheck=1

enabled=1

skip_if_unavailable=True

root [ / ]# cat /etc/yum.repos.d/photon-iso.repo

[photon-iso]

name=VMWare Photon Linux 1.0(x86_64)

baseurl=file:///mnt/cdrom/RPMS

gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY

gpgcheck=1

enabled=0

skip_if_unavailable=True

 

ちなみに、このコンテナイメージには、yum は入っていません。

ただし、photon のリポジトリには配置されているので追加インストールすることは可能です。

root [ / ]# yum

bash: yum: command not found

root [ / ]# tdnf list yum

yum.noarch                                  3.4.3-2.ph1rc             photon

 

オフィシャル photon イメージのカスタマイズ。

 

photon では標準で tdnf を使用するようになっているので、

コンテナイメージをカスタマイズするときは、

これまで yum を使用していた手順では、かわりに tdnf コマンドを使用します。

たとえば、docker build ~ するときは、下記のような感じになります。

 

まず、例として httpd をインストールして起動するだけの超簡易的な Dockerfile を作成してみました。

 

Dockerfile の内容

FROM photon

MAINTAINER gowatana

 

RUN tdnf install -y httpd

ENTRYPOINT /usr/sbin/httpd -D FOREGROUND

 

イメージを build してみます。

root [ ~ ]# docker build -t photon-web:1.0 .

Sending build context to Docker daemon 10.75 kB

Step 0 : FROM photon

---> b12b5ead0dad

Step 1 : MAINTAINER gowatana

---> Running in 750719e6d0e2

---> e945a2934d58

Removing intermediate container 750719e6d0e2

Step 2 : RUN tdnf install -y httpd

---> Running in 989cd40787da

 

Installing:

Linux-PAM                       x86_64      1.1.8-2.ph1rc       1011.17 k

krb5                            x86_64      1.12.2-1.ph1rc        3.51 M

e2fsprogs                       x86_64      1.42.9-4.ph1rc        2.67 M

cyrus-sasl                      x86_64      2.1.26-4.ph1rc      548.33 k

apr                             x86_64      1.5.2-5.ph1rc       519.52 k

apr-util                        x86_64      1.5.4-5.ph1rc       394.36 k

openldap                        x86_64      2.4.40-2.ph1rc        1.51 M

httpd                           x86_64      2.4.12-4.ph1rc       12.19 M

 

Total installed size: 22.30 M

 

Downloading:

httpd                                  4692452    100%

openldap                                865721    100%

apr-util                                156350    100%

apr                                     181582    100%

cyrus-sasl                              276100    100%

e2fsprogs                              1051512    100%

krb5                                   1406668    100%

/var/tmp/rpm-tmp.gShFPX: line 3: groupadd: command not found

/var/tmp/rpm-tmp.gShFPX: line 6: useradd: command not found

 

Testing transaction

Running transaction

 

Complete!

---> 9b51afe2abb4

Removing intermediate container 989cd40787da

Step 3 : ENTRYPOINT /usr/sbin/httpd -D FOREGROUND

---> Running in fac2999916a5

---> ccfd44e6ff70

Removing intermediate container fac2999916a5

Successfully built ccfd44e6ff70

 

「photon-web:1.0」が build されました。

root [ ~ ]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE

photon-web          1.0                 ccfd44e6ff70        About a minute ago   147.6 MB

photon              latest              b12b5ead0dad        2 weeks ago          119.1 MB

 

コンテナを起動して curl でアクセスすると、ちゃんと httpd でおなじみの「It works!」ページが返されています。

root [ ~ ]# docker run -d -p 8001:80 photon-web:1.0

a38e5be9e9d27a932d86b08781833a67592e4d36dcc00f9a88179426773fc86f

root [ ~ ]# curl http://localhost:8001/

<html><body><h1>It works!</h1></body></html>

 

ただ、Photon OS はコンテナ用の軽量 OS のため、デフォルトで設定されている photon の tdnf のリポジトリには

あまり RPM が配置されていません。

このイメージは、特定の用途(Lightwave とか)で使用するか、もしくは

カスタマイズするためにいくらか tdnf(yum)のリポジトリを追加する必要がありそうです。

 

以上、Docker Hub オフィシャルの photon イメージについてでした。

Image may be NSFW.
Clik here to view.

Viewing all articles
Browse latest Browse all 3135

Trending Articles