いろいろやってみるにっき

てきとーに生きている奴の日記

古いエントリのサムネイル画像がリンク切れになってたりするけど、チマチマ修正中


WSL2のOracle LinuxにDocker その2

Docker起動できなかった前回。

 

 

systemctlの実行でFailed to get D-Bus connection: Operation not permittedになる。このメッセージだけで検索するとDockerで起動したCentOSの情報ばかりである。そこでWSLも追加したらこちらがヒットした。

qiita.com

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.

 

うーん。こういうのを見つけた。

qiita.com

まずは即解決したい方向けにどうやって解決させたかを書きます。
以下を参照しました。

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が無い。全く痕跡も無いってことは書き込んでいる先が違うはず。

 

我々はさらにアマゾンの奥地に向かう。

qiita.com

 

ファイルいっぱいあるけど、ここ(/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

最後エラーだった。コマンド実行できたのでうまくいったもんだと思ってた。

 

前回は最新バージョンインストールコマンドだったので、今回はまずバージョンを調べてみる。

qiita.com

[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は動くようになったけど。

 

長くなりそうなので今回はここまで。

わはは。

お時間あったら、他のエントリもクリックして頂ければ幸いです。