Skip navigation

さっそく、VMware Photon Linux 1.0 TP1を VM にインストールして

ためしに Docker コンテナを起動してみました。

 

今回の環境は、vSphere 5.5(vCenter 5.5 / ESXi 5.5)でインストールしています。

Photon Linux は vSphere に最適化されているといわれていますが、

実際は ESXi / VMware Workstation に限らずインストールすることができるはずです。

 

こちらもどうぞ(前回のポスト)

VMware Photon Linux が公開されました。

 

参考

Getting Started Using Project Photon on VMware vSphere 5.5 & 6.0

https://vmware.github.io/photon/assets/files/getting_started_with_photon_on_vsphere.pdf



Photon Linux のインストール


今回は、vSphere 5.5 を使用しているので

VM のゲスト OS 選択は「その他の 3.x Linux (64 ビット)」にしてあります。

photon-linux-all-01.png


参考にしたガイドには 2 vCPU が推奨とありますが、1 vCPU でもインストール可能です。

今回は、CPU / メモリ / ハードディスクのスペックはデフォルトのままにしてみました。

ディスクプロビジョニングは、容量節約のため Thin Provisioning にしています。

VM バージョンは 10 (vmx-10)です。

photon-linux-all-02.png


VM には、「設定の編集」画面で、事前にデータストアに配置しておいた

Photon の インストール ISO イメージを 仮想 CD /DVD ドライブに接続しています。

「パワーオン時に接続」にチェックを入れておくと、

VM 起動時に ISO イメージからインストーラを起動できます。

photon-linux-all-03.png


仮想 CD ドライブに ISO を接続した状態で、VM をパワーオンすると、

Photon インストーラが起動します。Enter キーで進めます。

※今回は VMware Remote Console(VMRC)を使用しています。

photon-linux-all-04.png

 

ライセンス同意の画面です。「Accept」で Enter キーを押すと進めます。

photon-linux-all-05.png


今回、VM に割り当てた仮想ディスクは 1本だけなので、そのまま「Enter」キーを押します。

photon-linux-all-06.png


仮想ディスク上のデータ削除について確認が表示されるので「Yes」。

この次の画面が表示されるまで、数秒まちます。

photon-linux-all-07.png

 

インストールオプションの選択画面です。

Photon Linux はインストール時に4つのオプションが選択できます。

デフォルトは「Photon OS (Micro)」ですが、

今回は「Photon Full OS (All)」を選択しています。

  • Photon OS (Micro)
  • Photon Container OS (Minimal)
  • Photon Full OS (All) ←今回はこれを選択。
  • Photon Custom OS

photon-linux-all-08.png

 

Linux に設定するホスト名を入力します。

photon-linux-all-09.png


root ユーザのパスワードを入力します。簡単すぎるパスワードだとエラーになります。

パスワードを入力して Enter を押すと・・・

photon-linux-all-10.png

 

そのままインストールが開始します。

photon-linux-all-11.png

 

環境に依存するものではありますが、

インストール処理にはあまり時間がかかりません。

インストールが終了すると、かかった時間が表示され

今回は 6分程度で終了しました。

※今回の画面には「Photon has been installed in 358 secs」とあります。

 

ここで何かキーをおすと、OS が再起動されます。

photon-linux-all-12.png


OS 起動時には Photon の画面が表示されますが、

すぐに CLI(bash)のログインプロンプトが表示されます。

インストール直後は root でログインできます。

※パスワードはインストーラで指定したものです。

 

ちなみに、SSH でログインする場合は、useradd と passwd コマンドなどで

root 以外のユーザを新規作成することになると思います。

 

画面は下記のような感じです。

photon-linux-all-14.png

 

 

今回の Photon Linux の環境

 

Photon Linux の Linux カーネルバージョンは 3.19.2 です。

Photon Linux のディストリビューションのバージョンは、/etc/lsb-release ファイルに記載されていて、

今回は「VMware Photon 1.0 TP1」です。

root [ ~ ]# uname -a

Linux photon01 3.19.2 #1-photon SMP Wed Apr 15 22:37:11 UTC 2015 x86_64 GNU/Linux

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

DISTRIB_ID=VMware Photon

DISTRIB_RELEASE=1.0 TP1

DISTRIB_CODENAME=Photon

DISTRIB_DESCRIPTION=VMware Photon 1.0 TP1

 

ネットワークはデフォルトでは DHCP による自動設定で、

今回は vNIC が1つだけなので eth0 に外部からアクセスできる IP アドレスが設定されます。

ちなみに、キーボード設定は英語配列です。

 

「Photon Full OS (All)」 では、

Docker も 1.5 がインストールされています。

root [ ~ ]# rpm -q docker

docker-1.5.0-3.x86_64

 

あまりいい確認方法ではないかもしれませんが、

この Photon Linux は ESXi 上の VM で起動しています。

root [ ~ ]# dmesg | grep -i Hypervisor

[    0.000000] Hypervisor detected: VMware

[    0.000000] TSC freq read from hypervisor : 1696.074 MHz

[    0.692326] [drm] Max dedicated hypervisor surface memory is 163840 kiB

 

 

Docker でのコンテナ起動


Docker を有効化して、コンテナを起動してみます。

Photon Linux がインターネットにアクセスできる状態であれば、

デフォルトで Docker Hub からコンテナのイメージをダウンロードできる状態になっています。

ついでに、Docker のバージョンも表示しておきます。

root [ ~ ]# systemctl start docker

root [ ~ ]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /lib/systemd/system/docker.service.

root [ ~ ]# docker version

Client version: 1.5.0

Client API version: 1.17

Go version (client): go1.4.1

Git commit (client): a8a31ef

OS/Arch (client): linux/amd64

Server version: 1.5.0

Server API version: 1.17

Go version (server): go1.4.1

Git commit (server): a8a31ef

 

Docker Hub から vmwarecna/nginx イメージをダウンロードして起動します。

名前の通り VMware Cloud Native Apps(多分)の オフィシャル Nginx イメージで、

起動すると Photon のスプラッシュスクリーンが表示されます。

 

ちなみに、レジストリのページはこれです。

https://registry.hub.docker.com/u/vmwarecna/nginx/

photon-linux-cna-nginx.png

 

下記のコマンドラインで、イメージのダウンロード~コンテナ起動されます。

今回は、Web ブラウザから TCP 8050 番ポートでアクセスできるようにコンテナを起動してみました。

root [ ~ ]# docker run -d -p 8050:80 vmwarecna/nginx

Unable to find image 'vmwarecna/nginx:latest' locally

Pulling repository vmwarecna/nginx

6d36a12c92d5: Download complete

511136ea3c5a: Download complete

e977d53b9210: Download complete

c9fa20ecce88: Download complete

184d60f5cc4f: Download complete

96d31e36bd8a: Download complete

fd2224b9a216: Download complete

7f3a2bd1e995: Download complete

4c4851e85e94: Download complete

560d74bc7ae1: Download complete

07f0aa77ae76: Download complete

126105e511b8: Download complete

775024331ffa: Download complete

db26ae25be15: Download complete

Status: Downloaded newer image for vmwarecna/nginx:latest

9d78b3e6786e888ae6a9859f2b053b963bb143bc2403b076c0216017ee19cbcf

 

ダウンロードして登録されたイメージはこれです。

root [ ~ ]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

vmwarecna/nginx     latest              6d36a12c92d5        9 days ago          93.48 MB

 

そしてこのイメージからコンテナも起動されています。

root [ ~ ]# docker ps

CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS              PORTS                           NAMES

9d78b3e6786e        vmwarecna/nginx:latest   "nginx -g 'daemon of   7 seconds ago       Up 6 seconds        443/tcp, 0.0.0.0:8050->80/tcp   fervent_fermat

 

Web ブラウザから「 http: //<Photon Linux の IP アドレス>:8050/」 にアクセスすると

Nginx 上の Photon のページがみられます。

photon-linux-all-15.png

 

ちなみに当然ながら、Docker Hub などから他の Docker のイメージを入手して

コンテナを起動することができます。

 

たとえば、Doker Hub にある

Oracle Linux 6 のイメージをダウンロード~コンテナ起動してみました。

https://registry.hub.docker.com/u/oracle/oraclelinux/

root [ ~ ]# docker run -it oracle/oraclelinux:6 /bin/bash

Unable to find image 'oracle/oraclelinux:6' locally

Pulling repository oracle/oraclelinux

8dee47b714f6: Download complete

51407df89f64: Download complete

bb12766ba279: Download complete

Status: Downloaded newer image for oracle/oraclelinux:6

[root@92a13df410ee /]#  ★ここから、起動したコンテナの中に入っている。

[root@92a13df410ee /]# cat /etc/oracle-release

Oracle Linux Server release 6.6

[root@92a13df410ee /]# uname -a  ★コンテナのカーネルは Photon のものになっている。

Linux 92a13df410ee 3.19.2 #1-photon SMP Wed Apr 15 22:37:11 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

[root@92a13df410ee /]#

[root@92a13df410ee /]# root [ ~ ]#  ★ここで「Ctrl + p + q」キーでコンテナから抜けた。

root [ ~ ]# docker ps  ★起動中コンテナが増えている。

CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS              PORTS                           NAMES

92a13df410ee        oracle/oraclelinux:6     "/bin/bash"            36 seconds ago      Up 35 seconds                                       prickly_goodall

9d78b3e6786e        vmwarecna/nginx:latest   "nginx -g 'daemon of   22 minutes ago      Up 22 minutes       443/tcp, 0.0.0.0:8050->80/tcp   fervent_fermat

root [ ~ ]#

 

上記のように、Photon Linux 上で Oracle Linux 6 のイメージを起動できました。

この調子で Red Hat Linux や Cent OS のコンテナもいけるはず・・・

 

以上、Photon Linux のインストールとコンテナ起動でした。