http://public-yum.oracle.com/docker-images/OracleLinux/OL7/
今回は、Oracle Linux 6.6 の Docker で、
Oracle Linux 7.0 イメージを使用した httpd を起動してみます。
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
[root@docker01 ~]# rpm -q docker
docker-1.3.2-1.0.1.el6.x86_64
Oracle Linux 7 のイメージを DL します。
[root@docker01 ~]# wget http://public-yum.oracle.com/docker-images/OracleLinux/OL7/oraclelinux-7.0.tar.xz
イメージを登録します。
[root@docker01 ~]# ls -lh oraclelinux-7.0.tar.xz
-rw-r--r-- 1 root root 54M 11月 11 05:35 2014 oraclelinux-7.0.tar.xz
[root@docker01 ~]# xz -d oraclelinux-7.0.tar.xz
[root@docker01 ~]# ls -lh oraclelinux-7.0.tar
-rw-r--r-- 1 root root 261M 11月 11 05:35 2014 oraclelinux-7.0.tar
[root@docker01 ~]# docker load -i oraclelinux-7.0.tar
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
oraclelinux 7.0 5f1be1559ccf 7 weeks ago 265.2 MB
oraclelinux 6.6 d56e767abb61 7 weeks ago 319.4 MB
oraclelinux 6.5 9ac1b99eee65 7 weeks ago 176.5 MB
Oracle Linux 7 のコンテナを「cont70_1」という名前で起動します。
Docker 側と、同じカーネルが使用されています。
[root@docker01 ~]# docker run -i -t --name cont70_1 oraclelinux:7.0 /bin/bashこのコンテナに、httpd をインストールします。
[root@efe64bc9f540 /]# ★ここからコンテナの中。
[root@efe64bc9f540 /]# cat /etc/oracle-release
Oracle Linux Server release 7.0
[root@efe64bc9f540 /]# uname -r
3.8.13-44.1.1.el6uek.x86_64
Yum リポジトリへの参照設定は、デフォルトでイメージに設定されています。
[root@efe64bc9f540 /]# yum repolist
ol7_UEKR3 | 1.2 kB 00:00:00
ol7_latest | 1.4 kB 00:00:00
(1/5): ol7_latest/x86_64/updateinfo | 86 kB 00:00:00
(2/5): ol7_UEKR3/x86_64/updateinfo | 22 kB 00:00:01
(3/5): ol7_latest/x86_64/group | 652 kB 00:00:01
(4/5): ol7_UEKR3/x86_64/primary | 5.0 MB 00:00:01
(5/5): ol7_latest/x86_64/primary | 6.8 MB 00:00:01
ol7_UEKR3 122/122
ol7_latest 7380/7380
repo id repo name status
ol7_UEKR3/x86_64 Latest Unbreakable Enterprise Kernel for Oracle Linux 7Server (x86 122
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 7380
repolist: 7502
[root@efe64bc9f540 /]# yum install httpd
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-18.0.1.el7_0 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-18.0.1.el7_0 for package: httpd-2.4.6-18.0.1.el7_0.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-18.0.1.el7_0.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-18.0.1.el7_0.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-18.0.1.el7_0.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.0.1.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-18.0.1.el7_0 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Installing:
httpd x86_64 2.4.6-18.0.1.el7_0 ol7_latest 1.2 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 ol7_latest 99 k
apr-util x86_64 1.5.2-6.0.1.el7 ol7_latest 91 k
httpd-tools x86_64 2.4.6-18.0.1.el7_0 ol7_latest 77 k
mailcap noarch 2.1.41-2.el7 ol7_latest 30 k
Transaction Summary
===========================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 1.4 M
Installed size: 4.3 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): apr-util-1.5.2-6.0.1.el7.x86_64.rpm | 91 kB 00:00:01
(2/5): apr-1.4.8-3.el7.x86_64.rpm | 99 kB 00:00:01
(3/5): httpd-tools-2.4.6-18.0.1.el7_0.x86_64.rpm | 77 kB 00:00:00
(4/5): mailcap-2.1.41-2.el7.noarch.rpm | 30 kB 00:00:00
(5/5): httpd-2.4.6-18.0.1.el7_0.x86_64.rpm | 1.2 MB 00:00:01
-------------------------------------------------------------------------------------------
Total 517 kB/s | 1.4 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : apr-1.4.8-3.el7.x86_64 1/5
Installing : apr-util-1.5.2-6.0.1.el7.x86_64 2/5
Installing : httpd-tools-2.4.6-18.0.1.el7_0.x86_64 3/5
Installing : mailcap-2.1.41-2.el7.noarch 4/5
Installing : httpd-2.4.6-18.0.1.el7_0.x86_64 5/5
Verifying : httpd-2.4.6-18.0.1.el7_0.x86_64 1/5
Verifying : apr-util-1.5.2-6.0.1.el7.x86_64 2/5
Verifying : mailcap-2.1.41-2.el7.noarch 3/5
Verifying : httpd-tools-2.4.6-18.0.1.el7_0.x86_64 4/5
Verifying : apr-1.4.8-3.el7.x86_64 5/5
Installed:
httpd.x86_64 0:2.4.6-18.0.1.el7_0
Dependency Installed:
apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.0.1.el7
httpd-tools.x86_64 0:2.4.6-18.0.1.el7_0 mailcap.noarch 0:2.1.41-2.el7
Complete!
[root@efe64bc9f540 /]#
このコンテナを終了します。
[root@efe64bc9f540 /]# exit
exit
[root@docker01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
efe64bc9f540 oraclelinux:7.0 "/bin/bash" 2 days ago Exited (127) 2 minutes ago cont70_1
6a30bc0a72bb oraclelinux:6.6 "/bin/bash" 3 days ago Exited (-1) About a minute ago cont66_1
0629917127d5 oraclelinux:6.5 "/bin/bash" 3 days ago Exited (0) 29 minutes ago cont65_1
そして、httpd がインストールされた状態でイメージを「ol70/httpd:v01」
という名前でコミットします。
[root@docker01 ~]# docker commit cont70_1 ol70/httpd:v01
5254a14fa2cb674d97dd90fc28f4b90b11496e53adcd4fe6eff36f8455a212d5
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ol70/httpd v01 5254a14fa2cb About a minute ago 446.3 MB
oraclelinux 7.0 5f1be1559ccf 8 weeks ago 265.2 MB
oraclelinux 6.6 d56e767abb61 8 weeks ago 319.4 MB
oraclelinux 6.5 9ac1b99eee65 8 weeks ago 176.5 MB
新しいイメージから、httpd プロセスのコンテナを起動してみます。
Docker の 8080 番ポートを、コンテナの 80 番ポートに対応させています。
bash で起動したコンテナとは異なり、今回は、ターミナルに接続しません。
[root@docker01 ~]# docker run -d --name cont_ol70_httpd -p 8080:80 ol70/httpd:v01 /usr/sbin/httpd -D FOREGROUNDWeb ブラウザから Docker の起動している OS の 80番ポートにアクセスすると、
48fb59855c4367572a2eee46262c9ebe744ea56ca325602d1b03c36f4f98a0fd
[root@docker01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48fb59855c43 ol70/httpd:v01 "/usr/sbin/httpd -D 2 minutes ago Up 2 seconds 0.0.0.0:8080->80/tcp cont_ol70_httpd
Apache httpd 2.4 が起動していることがわかります。
コンテナには、httpd 2.4 が導入されています。
[root@docker01 ~]# docker exec cont_ol70_httpd rpm -q httpd
httpd-2.4.6-18.0.1.el7_0.x86_64
一方、Docker の OS には、httpd がインストールされていません。
(また Oracle Linux バージョンも表示しておきます。)
[root@docker01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.6
[root@docker01 ~]# rpm -q httpd
パッケージ httpd はインストールされていません。
以上、OL 6 で OL7 のイメージを起動してみる話でした。
0 件のコメント:
コメントを投稿