ちょうどいいタイミングで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のインストールはこれで終わりらしい。
いろいろと長くなってしまったので、今回はここまでだああ。