#動機
Mac OSX上でDockerを立てようとしたところ、バージョンが上がってboot2dockerからdocker-machineにバージョンが変わったけど、
うまくCentOS7が動かなかったので解決のためのメモ
##dockerの環境構築
こちらの記事参考。
##バージョン確認
$ docker -v
Docker version 1.9.0, build 76d6bc9
$ docker-machine -v
docker-machine version 0.5.0 (04cfa58)
##CentOS7のイメージpull
$ docker pull centos:latest
##pullから起動
$ docker run -it centos:latest /bin/bash
[root@fe0cd42fcf4f /]# systemctl
Failed to get D-Bus connection: No connection to service manager.
なぬー。
へんなのでたー。
##回避策
$ docker run --privileged -d -p 80:80 --name hogehoge centos:latest /sbin/init
$ docker exec -it (コンテナID) bash
[root@a0b7a6f97f01 /]# systemctl
WARNING: terminal is not fully functional
UNIT LOAD ACTIVE SUB DESCRIPTION
-.mount loaded active mounted /
dev-mqueue.mount loaded active mounted POSIX Message Queue File Sys
etc-hostname.mount loaded active mounted /etc/hostname
etc-hosts.mount loaded active mounted /etc/hosts
etc-resolv.conf.mount loaded active mounted /etc/resolv.conf
(後略)
動いたみたい。
##CentOS7にNetworkManagerを動くようにする
CentOS7のくせに、なぜかnmcliが動いてない。
[root@a0b7a6f97f01 /]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@a0b7a6f97f01 /]# nmcli
bash: nmcli: command not found
しかたないので、yumでNetworkManagerをインストールする。
[root@a0b7a6f97f01 /]# yum install NetworkManager
(後略)
Complete!
# nmcli
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
OPTIONS
-t[erse] terse output
-p[retty] pretty output
-m[ode] tabular|multiline output mode
(後略)
# systemctl status NetworkManager
NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
Drop-In: /run/systemd/system/NetworkManager.service.d
└─00-docker.conf
Active: inactive (dead)
[root@a0b7a6f97f01 /]#
とりあえず、インストールできたみたい。
systemctlでサービスを追加する。
[root@a0b7a6f97f01 /]# systemctl start NetworkManager
[root@a0b7a6f97f01 /]# systemctl status NetworkManager
NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
Drop-In: /run/systemd/system/NetworkManager.service.d
└─00-docker.conf
Active: active (running) since Sun 2015-12-06 10:38:56 UTC; 1s ago
Main PID: 939 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
└─939 /usr/sbin/NetworkManager --no-daemon
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): device stat...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): Activation:...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): Activation:...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): Activation:...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): device stat...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): device stat...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> NetworkManager stat...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> NetworkManager stat...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> Policy set 'eth0' (...
Dec 06 10:38:57 a0b7a6f97f01 NetworkManager[939]: <info> (eth0): Activation:...
Hint: Some lines were ellipsized, use -l to show in full.
[root@a0b7a6f97f01 /]#
と、設定完了。しめしめ。
と、ここまでやったけど、Dockerなのでこれをイメージ化するか、
$ docker commit a0b7a6f97f01 centos7_nmcli:0.0
dc67d97eb0a777df3a99d696f2e21071e6d923f47bab137e4626d9a4ca7d0692
それともDockerfile化するか。
ふーむ。。。
まあ、とりあえず動くっぽい。