start dockerを行いたい
virtualbox,Vagrantを用いてdocker環境構築を行っていますが、うまくいっておりません。
どなたかご教授をお願いいたします。
環境
Vagrant 2.2.19
VirtualBox 6.1.32 r149290 (Qt5.6.2)
CentOS Linux release 7.9.2009 (Core)
発生している問題
$ sudo systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. $ status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/docker.service.d └─http-proxy.conf Active: failed (Result: exit-code) since 木 2022-02-24 12:27:49 JST; 11s ago Docs: http://docs.docker.io Process: 9447 ExecStart=/usr/bin/docker daemon -H fd:// $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=1/FAILURE) Main PID: 9447 (code=exited, status=1/FAILURE) $ sudo journalctl -xe 2月 24 13:58:56 dopam sudo[13891]: pam_unix(sudo:session): session opened for user root by vagrant(uid=0) 2月 24 13:59:17 dopam systemd[1]: Starting Cleanup of Temporary Directories... -- Subject: Unit systemd-tmpfiles-clean.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit systemd-tmpfiles-clean.service has begun starting up. 2月 24 13:59:17 dopam systemd[1]: Started Cleanup of Temporary Directories. -- Subject: Unit systemd-tmpfiles-clean.service has finished start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit systemd-tmpfiles-clean.service has finished starting up. -- -- The start-up result is done. 2月 24 13:59:36 dopam sudo[13891]: pam_unix(sudo:session): session closed for user root 2月 24 13:59:38 dopam sudo[13930]: vagrant : TTY=pts/0 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/bin/vi docker.service 2月 24 13:59:38 dopam sudo[13930]: pam_unix(sudo:session): session opened for user root by vagrant(uid=0) 2月 24 13:59:47 dopam sudo[13930]: pam_unix(sudo:session): session closed for user root 2月 24 14:01:01 dopam systemd[1]: Created slice User Slice of root. -- Subject: Unit user-0.slice has finished start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit user-0.slice has finished starting up. -- -- The start-up result is done. 2月 24 14:01:01 dopam systemd[1]: Started Session 53 of user root. -- Subject: Unit session-53.scope has finished start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit session-53.scope has finished starting up. -- -- The start-up result is done. 2月 24 14:01:01 dopam CROND[14012]: (root) CMD (run-parts /etc/cron.hourly) 2月 24 14:01:01 dopam run-parts(/etc/cron.hourly)[14015]: starting 0anacron 2月 24 14:01:01 dopam run-parts(/etc/cron.hourly)[14021]: finished 0anacron 2月 24 14:01:01 dopam systemd[1]: Removed slice User Slice of root. -- Subject: Unit user-0.slice has finished shutting down -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit user-0.slice has finished shutting down. 2月 24 14:01:28 dopam sudo[14047]: vagrant : TTY=pts/0 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/bin/systemctl daemon-reload 2月 24 14:01:28 dopam sudo[14047]: pam_unix(sudo:session): session opened for user root by vagrant(uid=0) 2月 24 14:01:28 dopam polkitd[739]: Registered Authentication Agent for unix-process:14049:17386845 (system bus name :1.243 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/Poli 2月 24 14:01:28 dopam systemd[1]: Reloading. 2月 24 14:01:28 dopam polkitd[739]: Unregistered Authentication Agent for unix-process:14049:17386845 (system bus name :1.243, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ja_JP.UTF- 2月 24 14:01:28 dopam sudo[14047]: pam_unix(sudo:session): session closed for user root 2月 24 14:06:15 dopam polkitd[739]: Registered Authentication Agent for unix-process:14301:17415527 (system bus name :1.245 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/Poli 2月 24 14:06:18 dopam polkitd[739]: Operator of unix-process:14301:17415527 successfully authenticated as unix-user:root to gain ONE-SHOT authorization for action org.freedesktop.systemd1.manage-unit-files 2月 24 14:06:27 dopam polkitd[739]: Operator of unix-process:14301:17415527 successfully authenticated as unix-user:root to gain ONE-SHOT authorization for action org.freedesktop.systemd1.reload-daemon for 2月 24 14:06:27 dopam systemd[1]: Reloading. 2月 24 14:06:27 dopam polkitd[739]: Unregistered Authentication Agent for unix-process:14301:17415527 (system bus name :1.245, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ja_JP.UTF- 2月 24 14:07:03 dopam sudo[14381]: vagrant : TTY=pts/0 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/sbin/service docker status 2月 24 14:07:03 dopam sudo[14381]: pam_unix(sudo:session): session opened for user root by vagrant(uid=0) 2月 24 14:07:03 dopam sudo[14381]: pam_unix(sudo:session): session closed for user root 2月 24 14:07:53 dopam sudo[14435]: vagrant : TTY=pts/0 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/bin/journalctl -xe 2月 24 14:07:53 dopam sudo[14435]: pam_unix(sudo:session): session opened for user root by vagrant(uid=0)
実施した手順
$ tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://download.docker.com/linux/centos/7/x86_64/stable/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF $ sudo yum install -y yum-utils $ sudo yum-config-manager --enable * addons $ sudo yum install -y chrony docker-engine $ mkdir -p /etc/systemd/system/docker.service.d $ tee /etc/systemd/system/docker.service.d/http-proxy.conf <<-'EOF' [Service] Environment="HTTP_PROXY=http://hogehoge:8080" "HTTPS_PROXY=http://hogehoge:8080" "NO_PROXY=localhost" EOF $ systemctl daemon-reload $ systemctl enable docker $ systemctl start docker
試したこと
- https://docs.docker.com/engine/install/centos/ に従っての再インストール
- コンテナの再起動
考察
下記EnvironmentFileに設定されているパスに該当ファイルが存在しません。
なにか関係がありますでしょうか。
$ systemctl show docker | grep EnvironmentFile EnvironmentFile=/etc/sysconfig/docker (ignore_errors=yes) EnvironmentFile=/etc/sysconfig/docker-storage (ignore_errors=yes) EnvironmentFile=/etc/sysconfig/docker-network (ignore_errors=yes)
"journalctl -u docker.service -l --no-pager" で docker.service に絞り込むと何か原因が見つからないでしょうか?
> 下記EnvironmentFileに設定されているパスに該当ファイルが存在しません。
> なにか関係がありますでしょうか。
空のファイルを作成するか、「EnvironmentFile=-/etc/sysconfig/docker」として試してみるといいのではないでしょうか?
空ファイルを作成しましたが、実行結果に変化はありませんでした。
また、ご提示いただいたコマンドの実行結果は以下の通りでした。
$ journalctl -u docker.service -l --no-pager
Hint: You are currently not seeing messages from other users and the system.
Users in the 'systemd-journal' group can see all messages. Pass -q to
turn off this notice.
No journal files were opened due to insufficient permissions.
ごめんなさい。sudo 付けてください。
"sudo journalctl -u docker.service -l --no-pager"
sudoを付けますと、以下のログが表示されました。
3月 01 10:22:59 systemd[1]: Starting Docker Application Container Engine...
3月 01 10:22:59 docker[27978]: docker: 'daemon' is not a docker command.
3月 01 10:22:59 docker[27978]: See 'docker --help'
3月 01 10:22:59 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
3月 01 10:22:59 systemd[1]: Failed to start Docker Application Container Engine.
3月 01 10:22:59 systemd[1]: Unit docker.service entered failed state.
3月 01 10:22:59 systemd[1]: docker.service failed.
docker daemonがコマンドとして認識されていないようです。
これは、docker.service内の
ExecStart=/usr/bin/docker daemon -H fd:// $OPTIONS \
のことを指しているものと推察しますが、
公式のガイド(http://docs.docker.jp/engine/articles/systemd.html)でも同じようになっています。
変更が必要でしょうか?
"daemon" 不要ですね。
https://docs.docker.com/engine/install/centos/ のとおりにインストールすれば、/lib/systemd/system/docker.service で "ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock" となっているはずです。
"EnvironmentFile=" も見当たらないです。
ご指摘の通り変更しましたところ、"sudo journalctl -u docker.service -l --no-pager"で下記のログが出るようになりました。
socketが見つからないようなことが書いてあるので、containerd.sockが存在していないのでしょうか?
追記:確認したところ、/run内にcontainerdディレクトリが存在しませんでした。
これはどの動作で作成されるものなのでしょうか
3月 01 14:19:40 systemd[1]: Starting Docker Application Container Engine...
3月 01 14:19:40 dockerd[7150]: time="2022-03-01T14:19:40.100862697+09:00" level=info msg="Starting up"
3月 01 14:19:40 dockerd[7150]: failed to load listeners: no sockets found via socket activation: make sure the service was started by systemd
3月 01 14:19:40 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
3月 01 14:19:40 systemd[1]: Failed to start Docker Application Container Engine.
3月 01 14:19:40 systemd[1]: Unit docker.service entered failed state.
3月 01 14:19:40 systemd[1]: docker.service failed.
デフォルトでは /lib/systemd/system/docker.service で "After=network-online.target firewalld.service containerd.service", "Requires=docker.socket containerd.service" となっているので、containerd が先に起動し、/run/containerd/ が作成されます。
もう一度、インストールからやり直してみては?
社内で共有されたVagrantFileが古くなっているのが原因なのでしょうか…
ご提案通り、dockerのインストールをやり直してみます。ありがとうございます。
回答1件
あなたの回答
tips
プレビュー