Docker起動できなかった前回。
systemctlの実行でFailed to get D-Bus connection: Operation not permittedになる。このメッセージだけで検索するとDockerで起動したCentOSの情報ばかりである。そこでWSLも追加したらこちらがヒットした。
WSLにCentOS7を入れてsystemctlを実行したところ、「Failed to get D-Bus connection: Operation not permitted」が発生して実行できず、調べてもDocker関係の記事しか出てこなかったため、悪戦苦闘してしまいました。
オレと同じである。
手順はこちら。
$ sudo su -
$ mv /usr/bin/systemctl /usr/bin/systemctl.old
$ curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
$ chmod +x /usr/bin/systemctl
CentOSじゃなくOracle Linuxだけどやってみる。
[shigeo@EAGLEII shigeo-t]$ sudo su - [sudo] password for shigeo: [root@EAGLEII ~]# mv /usr/bin/systemctl /usr/bin/systemctl.old [root@EAGLEII ~]# curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 284k 100 284k 0 0 577k 0 --:--:-- --:--:-- --:--:-- 579k [root@EAGLEII ~]# chmod +x /usr/bin/systemctl
一応問題なく実行できた。さてDocker起動。
[root@EAGLEII ~]# sudo systemctl start docker ERROR:systemctl:Unit docker.service not found.
うーん。こういうのを見つけた。
まずは即解決したい方向けにどうやって解決させたかを書きます。
以下を参照しました。https://www.slideshare.net/moriwaka/systemd/15
/etc/systemd/system/docker.service.d/docker.conf以下のファイルに記載されている
-H fd://
を消す
ディストリビューションは違うけど調べてみる。
[shigeo@EAGLEII shigeo-t]$ cd /etc/systemd/system/ [shigeo@EAGLEII system]$ ls -las total 44 4 drwxr-xr-x 11 root root 4096 Feb 8 04:00 . 4 drwxr-xr-x 4 root root 4096 Feb 4 09:25 .. 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 basic.target.wants 0 lrwxrwxrwx 1 root root 40 Dec 2 08:12 default.target -> /usr/lib/systemd/system/graphical.target 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 default.target.wants 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 getty.target.wants 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 local-fs.target.wants 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 multi-user.target.wants 4 drwxr-xr-x 2 root root 4096 Feb 8 04:00 sockets.target.wants 4 drwxr-xr-x 2 root root 4096 Feb 8 04:00 sysinit.target.wants 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 systemd-remount-fs.service.wants 4 drwxr-xr-x 2 root root 4096 Dec 2 08:12 system-update.target.wants
そもそも/etc/systemd/system/docker.service.d/docker.confが無い。全く痕跡も無いってことは書き込んでいる先が違うはず。
我々はさらにアマゾンの奥地に向かう。
ファイルいっぱいあるけど、ここ(/usr/lib/systemd/system)には無い。
[shigeo@EAGLEII system]$ pwd /usr/lib/systemd/system [shigeo@EAGLEII system]$ ls d* dbus-org.freedesktop.hostname1.service dbus.service dm-event.service dracut-pre-pivot.service dbus-org.freedesktop.import1.service dbus.socket dm-event.socket dracut-pre-trigger.service dbus-org.freedesktop.locale1.service debug-shell.service dracut-cmdline.service dracut-pre-udev.service dbus-org.freedesktop.login1.service default.target dracut-initqueue.service dracut-shutdown.service dbus-org.freedesktop.machine1.service dev-hugepages.mount dracut-mount.service dbus-org.freedesktop.timedate1.service dev-mqueue.mount dracut-pre-mount.service dbus.target.wants: default.target.wants:
次は/lib/systemd/system。
[shigeo@EAGLEII system]$ pwd /lib/systemd/system [shigeo@EAGLEII system]$ ls d* dbus-org.freedesktop.hostname1.service dbus.service dm-event.service dracut-pre-pivot.service dbus-org.freedesktop.import1.service dbus.socket dm-event.socket dracut-pre-trigger.service dbus-org.freedesktop.locale1.service debug-shell.service dracut-cmdline.service dracut-pre-udev.service dbus-org.freedesktop.login1.service default.target dracut-initqueue.service dracut-shutdown.service dbus-org.freedesktop.machine1.service dev-hugepages.mount dracut-mount.service dbus-org.freedesktop.timedate1.service dev-mqueue.mount dracut-pre-mount.service dbus.target.wants: default.target.wants:
/usr/lib/systemd/systemと同じである。
さて、困った。あれっと思ってdockerコマンドを実行してみる。
[shigeo@EAGLEII /]$ docker -bash: docker: command not found
おい、インストールできてないじゃん。そりゃdocker.service無いわ。前回のメッセージを見直す。
--> Finished Dependency Resolution Error: Package: docker-ce-rootless-extras-20.10.12-3.el7.x86_64 (docker-ce-stable) Requires: slirp4netns >= 0.4 Error: Package: 3:docker-ce-20.10.12-3.el7.x86_64 (docker-ce-stable) Requires: container-selinux >= 2:2.74 Error: Package: containerd.io-1.4.12-3.1.el7.x86_64 (docker-ce-stable) Requires: container-selinux >= 2:2.74 Error: Package: docker-ce-rootless-extras-20.10.12-3.el7.x86_64 (docker-ce-stable) Requires: fuse-overlayfs >= 0.7 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
最後エラーだった。コマンド実行できたのでうまくいったもんだと思ってた。
前回は最新バージョンインストールコマンドだったので、今回はまずバージョンを調べてみる。
[shigeo@EAGLEII /]$ sudo yum list docker-ce.x86_64 --showduplicates | sort -r [sudo] password for shigeo: Loaded plugins: ovl, ulninfo docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.2-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.12-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.11-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.10-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.0-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.15-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.14-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.13-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable Available Packages
.centosが付いている奴のほうが良さそう。
例にならって最もバージョン番号が大きい
[shigeo@EAGLEII /]$ sudo yum install docker-ce-18.03.1.ce-1.el7.centos Loaded plugins: ovl, ulninfo Resolving Dependencies --> Running transaction check ---> Package docker-ce.x86_64 0:18.03.1.ce-1.el7.centos will be installed --> Processing Dependency: libseccomp >= 2.3 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: iptables for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: pigz for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: libcgroup for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: libltdl.so.7()(64bit) for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: libseccomp.so.2()(64bit) for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Running transaction check ---> Package docker-ce.x86_64 0:18.03.1.ce-1.el7.centos will be installed --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: pigz for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 ---> Package iptables.x86_64 0:1.4.21-35.0.1.el7 will be installed --> Processing Dependency: libnetfilter_conntrack.so.3()(64bit) for package: iptables-1.4.21-35.0.1.el7.x86_64 --> Processing Dependency: libnfnetlink.so.0()(64bit) for package: iptables-1.4.21-35.0.1.el7.x86_64 ---> Package libcgroup.x86_64 0:0.41-21.el7 will be installed ---> Package libseccomp.x86_64 0:2.3.1-4.el7 will be installed ---> Package libtool-ltdl.x86_64 0:2.4.2-22.el7_3 will be installed --> Running transaction check ---> Package docker-ce.x86_64 0:18.03.1.ce-1.el7.centos will be installed --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: pigz for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 ---> Package libnetfilter_conntrack.x86_64 0:1.0.6-1.el7_3 will be installed ---> Package libnfnetlink.x86_64 0:1.0.1-4.el7 will be installed --> Finished Dependency Resolution Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-stable) Requires: pigz Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-stable) Requires: container-selinux >= 2.9 You could try using --skip-broken to work around the problem
やはりエラー出てる。--skip-brokenというメッセージに従ってみる。
[shigeo@EAGLEII /]$ sudo yum install docker-ce-18.03.1.ce-1.el7.centos --skip-broken Loaded plugins: ovl, ulninfo Resolving Dependencies --> Running transaction check ---> Package docker-ce.x86_64 0:18.03.1.ce-1.el7.centos will be installed --> Processing Dependency: libseccomp >= 2.3 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: iptables for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: pigz for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: libcgroup for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: libltdl.so.7()(64bit) for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: libseccomp.so.2()(64bit) for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Running transaction check ---> Package docker-ce.x86_64 0:18.03.1.ce-1.el7.centos will be installed --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: pigz for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 ---> Package iptables.x86_64 0:1.4.21-35.0.1.el7 will be installed --> Processing Dependency: libnetfilter_conntrack.so.3()(64bit) for package: iptables-1.4.21-35.0.1.el7.x86_64 --> Processing Dependency: libnfnetlink.so.0()(64bit) for package: iptables-1.4.21-35.0.1.el7.x86_64 ---> Package libcgroup.x86_64 0:0.41-21.el7 will be installed ---> Package libseccomp.x86_64 0:2.3.1-4.el7 will be installed ---> Package libtool-ltdl.x86_64 0:2.4.2-22.el7_3 will be installed --> Running transaction check ---> Package docker-ce.x86_64 0:18.03.1.ce-1.el7.centos will be installed --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 --> Processing Dependency: pigz for package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 ---> Package libnetfilter_conntrack.x86_64 0:1.0.6-1.el7_3 will be installed ---> Package libnfnetlink.x86_64 0:1.0.1-4.el7 will be installed ol7_latest/x86_64/filelists_db | 22 MB 00:00:02 docker-ce-stable/7Server/x86_64/filelists_db | 29 kB 00:00:00 Packages skipped because of dependency problems: docker-ce-18.03.1.ce-1.el7.centos.x86_64 from docker-ce-stable iptables-1.4.21-35.0.1.el7.x86_64 from ol7_latest libcgroup-0.41-21.el7.x86_64 from ol7_latest libnetfilter_conntrack-1.0.6-1.el7_3.x86_64 from ol7_latest libnfnetlink-1.0.1-4.el7.x86_64 from ol7_latest libseccomp-2.3.1-4.el7.x86_64 from ol7_latest libtool-ltdl-2.4.2-22.el7_3.x86_64 from ol7_latest [shigeo@EAGLEII /]$ docker -bash: docker: command not found
エラーは出なかったけど、やっぱりdockerコマンドが無いのでインストールできてない。Packages skipped because of dependency problems: docker-ce-18.03.1.ce-1.el7.centos.x86_64 from docker-ce-stable って出てるし。
ということで前回はインストールできた、エラー出て起動できないと思って終わっていたが、今回インストールできないに戻ってしまった。systemctlは動くようになったけど。
長くなりそうなので今回はここまで。
わはは。