2015年1月4日日曜日

Oracle Linux 6.6 の Docker で、6.5 のイメージを起動する。

ORACLE の提供している Oracle Linux 6.x の Docker イメージは、
現状だと 6.5 / 6.6 の 2つがあります。



今回は、Oracle Linux 6.6 の Docker で、
Oracle Linux 6.5 イメージのコンテナを起動してみます。

今回の Docker 環境。
[root@docker01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.6
[root@docker01 ~]# uname -r
3.8.13-44.1.1.el6uek.x86_64

Oracle Linux 6.5 イメージ
http://public-yum.oracle.com/docker-images/OracleLinux/OL6/oraclelinux-6.5.tar.xz

準備。

Oracle Linux 6.5 のイメージを DL します。
[root@docker01 ~]# wget http://public-yum.oracle.com/docker-images/OracleLinux/OL6/oraclelinux-6.5.tar.xz

イメージを解凍して、登録します。
[root@docker01 ~]# ls -lh oraclelinux-6.5.tar.xz
-rw-r--r-- 1 root root 44M 11月 11 05:31 2014 oraclelinux-6.5.tar.xz
[root@docker01 ~]# xz -d oraclelinux-6.5.tar.xz
[root@docker01 ~]# ls -lh oraclelinux-6.5*
-rw-r--r-- 1 root root 175M 11月 11 05:31 2014 oraclelinux-6.5.tar
[root@docker01 ~]# docker load -i oraclelinux-6.5.tar

イメージが登録されました。
TAG がそのままOracle Linux のリリース番号になっています。
[root@docker01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
oraclelinux         6.6                 d56e767abb61        7 weeks ago         319.4 MB
oraclelinux         6.5                 9ac1b99eee65        7 weeks ago         176.5 MB

いったん、もう不要な既存のコンテナを削除してしまいます。
[root@docker01 ~]# docker ps -a -q
4296678bec11
afab1b849c7c
[root@docker01 ~]# docker rm `docker ps -a -q`
4296678bec11
afab1b849c7c
[root@docker01 ~]# docker ps -a -q
[root@docker01 ~]#  ★コンテナはなくなった。

コンテナの起動。

Oracle Linux 6.5 のコンテナを起動してみます。
[root@docker01 ~]# docker run -i -t --name cont65_1 oraclelinux:6.5 /bin/bash
[root@0629917127d5 /]#

コンテナの中身は、/etc/oracle-release は Oracle Linux 6.5 ・・・
しかし、
カーネルはホストとおなじバージョンになります。
[root@0629917127d5 /]# cat /etc/oracle-release
Oracle Linux Server release 6.5
[root@0629917127d5 /]# uname -r
3.8.13-44.1.1.el6uek.x86_64
[root@0629917127d5 /]# chkconfig --list
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rhnsd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off

コンテナから抜けて、docker ps を実行してみると、
起動してるコンテナのイメージが「oraclelinux:6.5」だとわかります。
[root@0629917127d5 /]# [root@docker01 ~]# ★「Ctrl +p +q」キーで抜けた。
[root@docker01 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
0629917127d5        oraclelinux:6.5     "/bin/bash"         2 minutes ago       Up 2 minutes                            cont65_1

Docker のホスト側には、
当然ながらカーネルがインストールされていますが・・・
[root@docker01 ~]# rpm -q kernel-uek
kernel-uek-3.8.13-44.1.1.el6uek.x86_64
[root@docker01 ~]# rpm -q kernel
kernel-2.6.32-504.el6.x86_64

Docker イメージのコンテナ側には、
カーネルはインストールされていません。
[root@docker01 ~]# docker attach cont65_1

[root@0629917127d5 /]# rpm -q kernel-uek
package kernel-uek is not installed
[root@0629917127d5 /]# rpm -q kernel
package kernel is not installed

RPM を比べてみると、バージョンが違いものが結構あります。
以降のコマンドは、Docker ホスト側から実行しています。
[root@docker01 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6a30bc0a72bb        oraclelinux:6.6     "/bin/bash"         3 minutes ago       Up 3 minutes                            cont66_1
0629917127d5        oraclelinux:6.5     "/bin/bash"         45 minutes ago      Up 45 minutes                           cont65_1
[root@docker01 ~]# docker exec cont65_1 rpm -qa | sort > cont65_1_rpm.list
[root@docker01 ~]# docker exec cont66_1 rpm -qa | sort > cont66_1_rpm.list

だいたいですが、このような差分があります。
[root@docker01 ~]# diff cont65_1_rpm.list cont66_1_rpm.list --side-by-side --suppress-common-lines -W 100
audit-libs-2.2-2.el6.x86_64                   | audit-libs-2.3.7-5.el6.x86_64
bash-4.1.2-15.el6_4.x86_64                    | bash-4.1.2-29.el6.x86_64
binutils-2.20.51.0.2-5.36.el6.x86_64          | binutils-2.20.51.0.2-5.42.el6.x86_64
ca-certificates-2013.1.94-65.0.el6.noarch     | ca-certificates-2014.1.98-65.1.el6.noarch
coreutils-8.4-31.0.1.el6.x86_64               | coreutils-8.4-37.0.1.el6.x86_64
coreutils-libs-8.4-31.0.1.el6.x86_64          | coreutils-libs-8.4-37.0.1.el6.x86_64
cpio-2.10-11.el6_3.x86_64                     | cpio-2.10-12.el6_5.x86_64
curl-7.19.7-37.el6_4.x86_64                   | curl-7.19.7-37.el6_5.3.x86_64
cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64       | cyrus-sasl-lib-2.1.23-15.el6.x86_64
dhclient-4.1.1-38.P1.0.1.el6.x86_64           | dhclient-4.1.1-43.P1.0.1.el6.x86_64
dhcp-common-4.1.1-38.P1.0.1.el6.x86_64        | dhcp-common-4.1.1-43.P1.0.1.el6.x86_64
elfutils-libelf-0.152-1.el6.x86_64            | elfutils-libelf-0.158-3.2.el6.x86_64
ethtool-3.5-1.el6.x86_64                      | ethtool-3.5-5.el6.x86_64
file-libs-5.04-15.el6.x86_64                  | file-libs-5.04-21.el6.x86_64
glib2-2.26.1-3.el6.x86_64                     | glib2-2.28.8-4.el6.x86_64
glibc-2.12-1.132.el6.x86_64                   | glibc-2.12-1.149.el6.x86_64
glibc-common-2.12-1.132.el6.x86_64            | glibc-common-2.12-1.149.el6.x86_64
gnupg2-2.0.14-6.el6_4.x86_64                  | gnupg2-2.0.14-8.el6.x86_64
gpg-pubkey-ec551f03-4c2d256a                  | gpg-pubkey-ec551f03-53619141
grep-2.6.3-4.el6.x86_64                       | grep-2.6.3-6.el6.x86_64
gzip-1.3.12-19.el6_4.x86_64                   | gzip-1.3.12-22.el6.x86_64
hwdata-0.233-9.1.el6.noarch                   | hwdata-0.233-11.1.el6.noarch
initscripts-9.03.40-2.0.1.el6.x86_64          | initscripts-9.03.46-1.0.2.el6.x86_64
iproute-2.6.32-31.el6.x86_64                  | iproute-2.6.32-32.el6_5.x86_64
iptables-1.4.7-11.0.1.el6.x86_64              | iptables-1.4.7-14.0.1.el6.x86_64
keyutils-libs-1.4-4.el6.x86_64                | keyutils-libs-1.4-5.el6.x86_64
krb5-libs-1.10.3-10.el6_4.6.x86_64            | krb5-libs-1.10.3-33.el6.x86_64
less-436-10.el6.x86_64                        | less-436-13.el6.x86_64
libblkid-2.17.2-12.14.el6.x86_64              | libblkid-2.17.2-12.18.0.1.el6.x86_64
libcurl-7.19.7-37.el6_4.x86_64                | libcurl-7.19.7-37.el6_5.3.x86_64
libgcc-4.4.7-4.el6.x86_64                     | libgcc-4.4.7-11.el6.x86_64
libgudev1-147-2.51.0.1.el6.x86_64             | libgudev1-147-2.57.0.2.el6.x86_64
libselinux-2.0.94-5.3.el6_4.1.x86_64          | libselinux-2.0.94-5.8.el6.x86_64
libselinux-utils-2.0.94-5.3.el6_4.1.x86_64    | libselinux-utils-2.0.94-5.8.el6.x86_64
libstdc++-4.4.7-4.el6.x86_64                  | libstdc++-4.4.7-11.el6.x86_64
libtasn1-2.3-3.el6_2.1.x86_64                 | libtasn1-2.3-6.el6_5.x86_64
libudev-147-2.51.0.1.el6.x86_64               | libudev-147-2.57.0.2.el6.x86_64
libuuid-2.17.2-12.14.el6.x86_64               | libuuid-2.17.2-12.18.0.1.el6.x86_64
libxml2-2.7.6-14.0.1.el6.x86_64               | libxml2-2.7.6-14.0.1.el6_5.2.x86_64
libxml2-python-2.7.6-14.0.1.el6.x86_64        | libxml2-python-2.7.6-14.0.1.el6_5.2.x86_64
module-init-tools-3.9-21.0.1.el6_4.x86_64     | module-init-tools-3.9-24.0.1.el6.x86_64
nspr-4.10.0-1.el6.x86_64                      | nspr-4.10.6-1.el6_5.x86_64
nss-3.15.1-15.0.1.el6.x86_64                  | nss-3.16.1-14.0.1.el6.x86_64
nss-softokn-3.14.3-9.el6.x86_64               | nss-softokn-3.14.3-17.el6.x86_64
nss-softokn-freebl-3.14.3-9.el6.x86_64        | nss-softokn-freebl-3.14.3-17.el6.x86_64
nss-sysinit-3.15.1-15.0.1.el6.x86_64          | nss-sysinit-3.16.1-14.0.1.el6.x86_64
nss-tools-3.15.1-15.0.1.el6.x86_64            | nss-tools-3.16.1-14.0.1.el6.x86_64
nss-util-3.15.1-3.el6.x86_64                  | nss-util-3.16.1-3.el6.x86_64
openldap-2.4.23-32.el6_4.1.x86_64             | openldap-2.4.39-8.el6.x86_64
openssh-5.3p1-94.el6.x86_64                   | openssh-5.3p1-104.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64           | openssh-clients-5.3p1-104.el6.x86_64
openssh-server-5.3p1-94.el6.x86_64            | openssh-server-5.3p1-104.el6.x86_64
openssl-1.0.1e-15.el6.x86_64                  | openssl-1.0.1e-30.el6_6.2.x86_64
oracle-logos-60.0.14-1.0.1.el6.noarch         | oracle-logos-60.0.14-1.0.2.el6.noarch
oraclelinux-release-6Server-5.0.2.x86_64      | oraclelinux-release-6Server-6.0.2.x86_64
p11-kit-0.18.5-2.el6.x86_64                   | p11-kit-0.18.5-2.el6_5.2.x86_64
p11-kit-trust-0.18.5-2.el6.x86_64             | p11-kit-trust-0.18.5-2.el6_5.2.x86_64
pam-1.1.1-17.el6.x86_64                       | pam-1.1.1-20.el6.x86_64
policycoreutils-2.0.83-19.39.0.1.el6.x86_64   | policycoreutils-2.0.83-19.47.0.1.el6.x86_64
procps-3.2.8-25.el6.x86_64                    | procps-3.2.8-30.0.1.el6.x86_64
psmisc-22.6-15.el6_0.1.x86_64                 | psmisc-22.6-19.el6_5.x86_64
python-2.6.6-51.el6.x86_64                    | python-2.6.6-52.el6.x86_64
python-libs-2.6.6-51.el6.x86_64               | python-libs-2.6.6-52.el6.x86_64
python-urlgrabber-3.9.1-9.el6.noarch          | python-urlgrabber-3.9.1-9.0.1.el6.noarch
redhat-release-server-6Server-6.5.0.1.0.1.el6 | redhat-release-server-6Server-6.6.0.2.0.1.el6
rhn-check-1.0.0.1-16.0.2.el6.noarch           | rhn-check-1.0.0.1-18.0.2.el6.noarch
rhn-client-tools-1.0.0.1-16.0.2.el6.noarch    | rhn-client-tools-1.0.0.1-18.0.2.el6.noarch
rhn-setup-1.0.0.1-16.0.2.el6.noarch           | rhn-setup-1.0.0.1-18.0.2.el6.noarch
shadow-utils-4.1.4.2-13.el6.x86_64            | shadow-utils-4.1.4.2-19.el6.x86_64
shared-mime-info-0.70-4.el6.x86_64            | shared-mime-info-0.70-6.el6.x86_64
tzdata-2013g-1.el6.noarch                     | tzdata-2014g-1.el6.noarch
udev-147-2.51.0.1.el6.x86_64                  | udev-147-2.57.0.2.el6.x86_64
upstart-0.6.5-12.el6_4.1.x86_64               | upstart-0.6.5-13.el6_5.3.x86_64
util-linux-ng-2.17.2-12.14.el6.x86_64         | util-linux-ng-2.17.2-12.18.0.1.el6.x86_64
xz-libs-4.999.9-0.3.beta.20091007git.el6.x86_ | xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_
yum-3.2.29-40.0.1.el6.noarch                  | yum-3.2.29-60.0.1.el6.noarch
yum-rhn-plugin-0.9.1-49.0.1.el6.noarch        | yum-rhn-plugin-0.9.1-50.0.1.el6.noarch

以上、Oracle Linux 6.6 で、6.5 のコンテナを起動してみる話でした。

0 件のコメント:

コメントを投稿