CentOS7でDockerを試してみた


ちょうどいいタイミングでCentOS7がリリースされたので、Dockerのお試し作業はCentOS7でやろうと思います。
まずはISOの用意ですが、こちとらはIIJからダウンロードしました。

http://ftp.iij.ad.jp/pub/linux/centos/7/isos/x86_64/

最初の画面が、なんだかドラクエ3みたいな感じなのだが、文字が薄くてじっくり見ないと何を選択しているのかよく分からないのだが・・。
頑張ってInstall CentOS 7を選択してみた。

今回はとくに何も見ないでインストールしてみる。あえてね。

しばらく待っていると、ポップな感じの1枚絵で項目の一覧が出た!
おお、分かりやすいじゃないか。
インストールに必要な作業が一覧になっているので、そこから選択して進めていくようだ。

いままでのは出てくる順番にやってた作業だが、直感的に操作できるようになっているようだ

 

何も見ないでインストールしてみる。あえてね。
なんてえらそうに言ってみたものの、別にみる必要はそもそもなかったようだし、CentOS6とやる事は同じなのでたいしたことはない。

そういえばFreeBSDが文字だけだけど、一覧が出るようなだったような??
ん~、あれは最後に一覧が出たんだっけ。
忘れちまった。

てな感じで、インストールしながらこの文章を書きながら進めていると、ようやくインストールが終わったようだ。

[root@dockerkencho ~]# uname -nr
dockerkencho 3.10.0-123.el7.x86_64

 

まずはyum updateをやってから、いろいろ見てみるか。
Kernel3系になった事と、今回からデフォルトのファイルシステムが
ext4からxfsになったようだ。
なんだか気持ちだけど、動作が速い気がしないでもない。

最小構成でインストールしたんだけど、ifconfigがなかった。

[root@dockerkencho ~]# yum search ifconfig
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
========================================== 一致: ifconfig ==========================================
net-tools.x86_64 : Basic networking tools

おお、なかなかいい感じだけど、yum searchってこんなだっけ???

まぁいいか。じゃあ、ついでにDockerも。

[root@dockerkencho ~]# yum search docker
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
======================================= N/S matched: docker ========================================
docker-registry.noarch : Registry server for Docker
docker.x86_64 : Automates deployment of containerized applications

  Name and summary matches only, use "search all" for everything.

Docker-io がないと思ったら、EPELだったようだ。後で入れよう。

nslookupはついになくなったのか?と思ったが。

[root@dockerkencho ~]# yum search nslookup
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
警告: 一致するものが見つかりません: nslookup
No matches found

bind-utilsを入れてみる。

インストール:
  bind-utils.x86_64 32:9.9.4-14.el7

なんだ、あったわ。

[root@dockerkencho ~]# nslookup yahoo.co.jp
Server:         192.168.24.1
Address:        192.168.24.1#53

Non-authoritative answer:
Name:   yahoo.co.jp
Address: 182.22.59.229
Name:   yahoo.co.jp
Address: 183.79.135.206

hostとかdigはもちろんあるぜよ。

では、デフォルトの状態を何点かコマンドでチェックしてみよかな

[root@dockerkencho ~]# df -h
ファイルシス                         サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos_dockerkencho-root    30G  955M   29G    4% /
devtmpfs                               488M     0  488M    0% /dev
tmpfs                                  494M     0  494M    0% /dev/shm
tmpfs                                  494M  6.8M  487M    2% /run
tmpfs                                  494M     0  494M    0% /sys/fs/cgroup
/dev/mapper/centos_dockerkencho-home    18G   33M   18G    1% /home
/dev/sda1                              497M  115M  383M   23% /boot

 

ZSHは入ってないようだに。

[root@dockerkencho ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

デフォルトは毎度のbashだった。

[root@dockerkencho ~]# echo $SHELL
/bin/bash

 

なんだかずいぶんと減ったような・・・

[root@dockerkencho ~]# chkconfig

注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。
      systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。
      systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。
      特定のターゲットにおいて有効化されているサービスを確認するには、
      'systemctl list-dependencies [target]' 。

iprdump         0:off   1:off   2:on    3:on    4:on    5:on    6:off
iprinit         0:off   1:off   2:on    3:on    4:on    5:on    6:off
iprupdate       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
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

ってことで、ネイティブなsystemdとやらを見てみる。

[root@dockerkencho ~]# systemctl list-unit-files
UNIT FILE                                   STATE
proc-sys-fs-binfmt_misc.automount           static
dev-hugepages.mount                         static
dev-mqueue.mount                            static
proc-sys-fs-binfmt_misc.mount               static
sys-fs-fuse-connections.mount               static
sys-kernel-config.mount                     static
sys-kernel-debug.mount                      static
tmp.mount                                   disabled
brandbot.path                               disabled
systemd-ask-password-console.path           static
systemd-ask-password-plymouth.path          static
systemd-ask-password-wall.path              static
session-1.scope                             static
session-2.scope                             static
session-3.scope                             static
session-4.scope                             static
arp-ethers.service                          disabled
auditd.service                              enabled
autovt@.service                             disabled
avahi-daemon.service                        enabled
blk-availability.service                    disabled
brandbot.service                            static
console-getty.service                       disabled
console-shell.service                       disabled
cpupower.service                            disabled
crond.service                               enabled
dbus-org.fedoraproject.FirewallD1.service   enabled
dbus-org.freedesktop.Avahi.service          enabled
dbus-org.freedesktop.hostname1.service      static
dbus-org.freedesktop.locale1.service        static
dbus-org.freedesktop.login1.service         static
dbus-org.freedesktop.machine1.service       static
dbus-org.freedesktop.NetworkManager.service enabled
dbus-org.freedesktop.nm-dispatcher.service  enabled
dbus-org.freedesktop.timedate1.service      static
dbus.service                                static
debug-shell.service                         disabled
dm-event.service                            disabled
dnsmasq.service                             disabled
dracut-cmdline.service                      static
dracut-initqueue.service                    static
dracut-mount.service                        static
dracut-pre-mount.service                    static
dracut-pre-pivot.service                    static
dracut-pre-trigger.service                  static
dracut-pre-udev.service                     static
dracut-shutdown.service                     static
ebtables.service                            disabled
emergency.service                           static
firewalld.service                           enabled
getty@.service                              enabled
halt-local.service                          static
initrd-cleanup.service                      static
initrd-parse-etc.service                    static
initrd-switch-root.service                  static
initrd-udevadm-cleanup-db.service           static
irqbalance.service                          enabled
kdump.service                               enabled

ほほお~と言うほど分かってないのだけど、これは一部でまだまだ下にいっぱいあるけど
場所をとるのでここまで。

では本題のDockerのお試しを始めようかな。
@ITのいまさら聞けないDocker入門に沿って進めようと思います。

[root@dockerkencho tmp]# wget http://ftp.riken.jp/Linux/fedora/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
インストール:
  epel-release.noarch 0:7-0.2

こんなのがあるらしい。
参考サイト
http://www.cyberciti.biz/faq/installing-rhel-epel-repo-on-centos-redhat-7-x/

[root@dockerkencho tmp]# yum repolist
読み込んだプラグイン:fastestmirror
base                                                                        | 3.6 kB  00:00:00
epel/x86_64/metalink                                                        | 5.8 kB  00:00:00
epel                                                                        | 3.7 kB  00:00:00
extras                                                                      | 3.3 kB  00:00:00
updates                                                                     | 3.4 kB  00:00:00
(1/2): epel/x86_64/group_gz                                                 | 163 kB  00:00:00
(2/2): epel/x86_64/primary_db                                               | 2.0 MB  00:00:02
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
リポジトリー ID                 リポジトリー名                                                状態
base/7/x86_64                   CentOS-7 - Base                                               8,465
epel/x86_64                     Extra Packages for Enterprise Linux 7 - x86_64                4,704
extras/7/x86_64                 CentOS-7 - Extras                                                30
updates/7/x86_64                CentOS-7 - Updates                                              326
repolist: 13,525

おぬし、有効なのかい?

[root@dockerkencho tmp]# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

有効だったようだ。では下ごしらえが出来たので、サーチしてみると。

[root@dockerkencho tmp]# yum search docker-io
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
===================================== N/S matched: docker-io ======================================
docker-io.x86_64 : Automates deployment of containerized applications

  Name and summary matches only, use "search all" for everything.

おお、でました。
2個ともあるのだが・・・

docker.x86_64 : Automates deployment of containerized applications
docker-io.x86_64 : Automates deployment of containerized applications

とりあえず@ITに沿うのでioの方。

インストール:
docker-io.x86_64 0:1.0.0-1.el7

完了しました!

とくに依存関係でなにか別のものが入ったりはしなかった。
コマンドができない!と思ったらサービスを起動してなかった。

[root@dockerkencho ~]# service docker start
Redirecting to /bin/systemctl start  docker.service
[root@dockerkencho ~]# docker info
Containers: 0
Images: 0
Storage Driver: devicemapper
 Pool Name: docker-253:1-754596-pool
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 293.0 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 0.7 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 3.10.0-123.el7.x86_64
[root@dockerkencho ~]# docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c/1.0.0
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.2
Git commit (server): 63fe64c/1.0.0

でけた。

自動起動を有効にしようと思ったらこうなった。

[root@dockerkencho ~]# chkconfig docker
情報:'systemctl is-enabled docker.service'へ転送しています。
disabled

[root@dockerkencho ~]# chkconfig docker on
情報:'systemctl enable docker.service'へ転送しています。
ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'

 

・・・ちなみに、Dockerのインストールはこれで終わりらしい。

いろいろと長くなってしまったので、今回はここまでだああ。

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *