現在位置: ホーム / みらくるブログ / Docker 体験 その2 (イメージの作成、Docker Hub へのアップロード、ダウンロード)

Docker 体験 その2 (イメージの作成、Docker Hub へのアップロード、ダウンロード)

Docker イメージを作成して、Docker Hub へアップロードしたり、ダウンロードしたりしてみます。

こんにちは、ニックネーム たいちょうです。

docker体験編です。第2日目となります。

1日目は、とりあえず動かすということで、それは成功しました。

とても簡単に言うと、以下の手順になります。CentOS の latest image をダウンロードして立ち上げる手順の復習です。
作成マシンは Fedora25 です。

# systemctl enable docker
# systemctl start docker
# groupadd docker
# usermod -aG docker taichou
$ id
$ docker pull centos:latest
$ docker images
$ docker run -it --name latest docker.io/centos /bin/bash
[root@6598cd67cfdb /]#

復習は終わりです。

さて、これからここに kea を構築してみます。
kea は ISC の新しい DHCP アプリケーションになります。

まずはここを見て、
http://kea.isc.org/wiki/Install

ここを参考にしました。
https://lists.isc.org/pipermail/kea-users/2016-January/000208.html

kea は、epel レポジトリに入っています。2016年1月にパッケージ化されたようなので、いちいちビルドする手間が省けます。

[root@6598cd67cfdb]# yum install wget
[root@6598cd67cfdb]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@6598cd67cfdb]# rpm -ivh  epel-release-latest-7.noarch.rpm
[root@6598cd67cfdb]#  yum install kea
[root@6598cd67cfdb ~]# rpm -q kea
kea-1.1.0-1.el7.x86_64

インストールに成功しました。
ソースコードもチェックアウトしておきます。

[root@6598cd67cfdb ~]# git clone https://github.com/isc-projects/kea.git
[root@6598cd67cfdb ~]# ls
anaconda-ks.cfg  epel-release-latest-7.noarch.rpm  kea  original-ks.cfg

ところで、この docker image を、Docker Hub に上げておきたいです。
Docker Hub には、一つだけレポジトリを作ることができます。

アカウントを作成しておきますが、アカウント作成方法の細部については省略します。

あとで何のイメージか人にもわかる用に、イメージに名前をつけます。
一度exitします。

[root@6598cd67cfdb ~]# exit

イメージを確認します。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    latest              a8493f5f50ff        3 weeks ago         192.5 MB

Docker Hub のユーザ名が taichou だとします。centos7_kea というレポジトリを作成しておきます。

$ docker commit latest taichou/centos7_kea:ver1.0
sha256:xxxxxxxx

作成したイメージを確認します。

$ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED              SIZE
taichou/centos7_kea   ver1.0              aa2f983fde6d        About a minute ago   620.7 MB
docker.io/centos      latest              a8493f5f50ff        3 weeks ago          192.5 MB

できていました。
では、これをアップロードします。

Docker Hub のユーザ名、パスワードをいれましょう。

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: taichou
Password:
Login Succeeded

イメージをプッシュします。

$ docker push taichou/centos7_kea:ver1.0
The push refers to a repository [docker.io/taichou/centos7_kea]
e5b8d11c7593: Layer already exists
36018b5e9787: Layer already exists
ver1.0: digest: sha256:xxxxxx size: 742

Docker Hub を確認すると、圧縮されて保存されていました。

この Docker Hub 上のイメージを、別の端末にダウンロードしてみます。
これにより、遠隔地で作成したOSイメージを共有して、迅速に立ち上げられるでしょう。

一般ユーザで、Docker が使える様にします。一度やっているので、少し慣れましたね。

# systemctl enable docker
# systemctl start docker
# groupadd docker
# usermod -aG docker taichou
$ id

では、

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: taichou
Password:
Login Succeeded
$ docker pull -a taichou/centos7_kea
Trying to pull repository docker.io/taichou/centos7_kea ...
sha256:xxxxxxxx: Pulling from docker.io/taichou/centos7_kea
93857f76ae30: Pull complete
b261ad51bd55: Pull complete
Digest: sha256:xxxxxxxx
Status: Downloaded newer image for docker.io/taichou/centos7_kea:ver1.0

 イメージをダウンロードできたかどうか確認します。

$ docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
docker.io/taichou/centos7_kea   ver1.0              aa2f983fde6d        About an hour ago   620.7 MB

イメージを起動してみます。

$ docker run -it --name ver1.0 taichou/centos7_kea:ver1.0 /bin/bash
[root@ab1ffb757909 /]#
Docker から抜けて、イメージを確認します。
[root@ab1ffb757909 /]# exit
$ docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
docker.io/taichou/centos7_kea   ver1.0              aa2f983fde6d        About an hour ago   620.7 MB
ダウンロードされているようです。成功しましたね。

これで、ある OS(CentOS7同等以上が必須と言い切りましょう--本当は6.5以降なんだけど、ちなみに私はFedora25ですけど)上で作業した結果をその時のまま、Docker Hub を活用することによりどこでも取り出せることができ、それを再現することができます。
Docker は起動する手間もかからないので、サクっと実行できるお手軽感がいいです。
自分のやりたいことに合わせてやってみたら楽しいかもです。
このように、新しい OS には、便利な機能が満載です。
いつまでも古いOS使っていないで、新しい OS に乗り換えましょうね。ご相談は、ぜひミラクルに。あれ、宣伝になっちゃいました。

お疲れさまです。第2日目の終了です。次回も Docker を続けます。次回をお楽しみに。
ニックネーム たいちょう でした。
タグ: