Oracle Linux 6 では、Public Yum で Docker の RPM が公開されています。
デフォルトでは無効になっていますが、public_ol6_addons というリポジトリにあります。
以前は RPM の名前が docker だったのですが、
Docker 1.8 ~ の RPM は、docker-engine という名前になりました。
すでに docker RPM がインストールされている場合、
Docker 1.8 ~ にバージョンアップ(docker-engine をインストールする)には、
いったん以前の docker の RPM を削除する必要があります。
Oracle Linux 6.6 でカーネルは UEK です。
[root@docker-host01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.6
[root@docker-host01 ~]# uname -r
3.8.13-44.1.1.el6uek.x86_64
Docker 1.6 の RPM は、すでに ORACLE の Public Yum サーバからインストールしてあります。
[root@docker-host01 ~]# yum list docker
読み込んだプラグイン:security
インストール済みパッケージ
docker.x86_64 1.6.1-1.0.1.el6 @public_ol6_addons
この Docker ホストには Docker イメージが登録されています。
けっこう放置されている Docker ホストです。
[root@docker-host01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ol6 v01 cd272416c934 3 months ago 156.2 MB
oraclelinux 6 cfc75fa9f295 4 months ago 156.2 MB
停止しているコンテナもいました。
[root@docker-host01 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf6a525e98af1 oraclelinux:6 "/bin/bash" 3 months ago Exited (137) 3 months ago cont01
以前、ストレージドライバを Btrfs に変更するためだけに作った Docker ホストでした。
[root@docker-host01 ~]# docker info
Containers: 1
Images: 4
Storage Driver: btrfs
Execution Driver: native-0.2
Kernel Version: 3.8.13-44.1.1.el6uek.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 994.7 MiB
Name: docker-host01
ID: XMKW:Q7ZI:XKC3:KIEM:SQWR:MSYF:5KVP:3S25:DUBQ:PFE2:HGHU:WAGB
ただ追加で RPM インストールした場合の様子。
Public Yum サーバには、docker と docker-engine の RPM 両方があります。
[root@docker-host01 ~]# yum list docker-engine読み込んだプラグイン:security利用可能なパッケージdocker-engine.x86_64 1.8.3-1.0.1.el6 public_ol6_addons
ためしに、ふつうに docker-engine RPM をインストールしてみようとすると、
既存の docker RPM と衝突してエラーになります。
[root@docker-host01 ~]# yum install docker-engine
読み込んだプラグイン:security
インストール処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package docker-engine.x86_64 0:1.8.3-1.0.1.el6 will be インストール
--> 衝突を処理しています: docker-engine-1.8.3-1.0.1.el6.x86_64 は docker と衝突しています
--> 依存性解決を終了しました。
エラー: docker-engine conflicts with docker-1.6.1-1.0.1.el6.x86_64
問題を回避するために --skip-broken を用いることができません
これらを試行できます: rpm -Va --nofiles --nodigest
ということで、RPM をいったん削除する必要があります。
Docker 1.6 → 1.8 のアップデート。
Oracle Linux の Docker は、chkconfig 登録されます。
docker サービスを停止します。
[root@docker-host01 ~]# service docker stop
docker を停止中: [ OK ]
docker を削除します。
[root@docker-host01 ~]# yum remove docker
読み込んだプラグイン:security
削除処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package docker.x86_64 0:1.6.1-1.0.1.el6 will be 削除
--> 依存性解決を終了しました。
依存性を解決しました
====================================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
====================================================================================================
削除:
docker x86_64 1.6.1-1.0.1.el6 @public_ol6_addons 21 M
トランザクションの要約
====================================================================================================
削除 1 パッケージ
インストール済み容量: 21 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
削除中 : docker-1.6.1-1.0.1.el6.x86_64 1/1
警告: /etc/sysconfig/docker は /etc/sysconfig/docker.rpmsave として保存されました。
Verifying : docker-1.6.1-1.0.1.el6.x86_64 1/1
削除しました:
docker.x86_64 0:1.6.1-1.0.1.el6
完了しました!
docker-engine RPM をインストールします。
[root@docker-host01 ~]# yum install docker-engine
読み込んだプラグイン:security
インストール処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package docker-engine.x86_64 0:1.8.3-1.0.1.el6 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
====================================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
====================================================================================================
インストールしています:
docker-engine x86_64 1.8.3-1.0.1.el6 public_ol6_addons 6.4 M
トランザクションの要約
====================================================================================================
インストール 1 パッケージ
総ダウンロード容量: 6.4 M
インストール済み容量: 27 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
docker-engine-1.8.3-1.0.1.el6.x86_64.rpm | 6.4 MB 00:04
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : docker-engine-1.8.3-1.0.1.el6.x86_64 1/1
Verifying : docker-engine-1.8.3-1.0.1.el6.x86_64 1/1
インストール:
docker-engine.x86_64 0:1.8.3-1.0.1.el6
完了しました!
chkconfig のサービス名は、docker ままです。
[root@docker-host01 ~]# chkconfig --list | grep docker
docker 0:off 1:off 2:on 3:on 4:on 5:on 6:off
docker を起動します。
[root@docker-host01 ~]# service docker status
docker は停止しています
[root@docker-host01 ~]# service docker start
Starting docker: [ OK ]
Docker 1.8.3 です。
[root@docker-host01 ~]# docker version
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f0bb124
Built: Wed Oct 14 04:06:48 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f0bb124
Built: Wed Oct 14 04:06:48 UTC 2015
OS/Arch: linux/amd64
ストレージドライバの設定は残されてました。
[root@docker-host01 ~]# docker info
Containers: 1
Images: 4
Storage Driver: btrfs
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.8.13-44.1.1.el6uek.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 994.7 MiB
Name: docker-host01
ID: XMKW:Q7ZI:XKC3:KIEM:SQWR:MSYF:5KVP:3S25:DUBQ:PFE2:HGHU:WAGB
Docker イメージも、残っています。
[root@docker-host01 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ol6 v01 cd272416c934 3 months ago 156.2 MB
oraclelinux 6 cfc75fa9f295 4 months ago 156.2 MB
Docker コンテナも、残っています。
[root@docker-host01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker-host01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6a525e98af1 oraclelinux:6 "/bin/bash" 3 months ago Exited (137) 3 months ago cont01
既存のコンテナを起動できました。
[root@docker-host01 ~]# docker start cont01
cont01
[root@docker-host01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6a525e98af1 oraclelinux:6 "/bin/bash" 3 months ago Up 2 seconds cont01
とりあえず新規コンテナも起動できました。
[root@docker-host01 ~]# docker run -itd oraclelinux:6 /bin/bash
c7c041a25e726a49bf479ce946a205b43c79317bd48a3db8f88a37d84c5b1077
[root@docker-host01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7c041a25e72 oraclelinux:6 "/bin/bash" 4 seconds ago Up 3 seconds furious_bhaskara
f6a525e98af1 oraclelinux:6 "/bin/bash" 3 months ago Up 21 seconds cont01
以上、OL 6.x での Docker 1.8 へのバージョンアップでした。
0 件のコメント:
コメントを投稿