3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

dockerをdaemon.json追加すると起動できない問題を解決する方法

Posted at

背景

kubernetesをセットアップする過程でdockerインストール後にdaemon.jsonファイルを作成してdocker再起動するとエラーになる件を調査する
以下はdockerインストールを参考にするサイト
https://v1-15.docs.kubernetes.io/docs/setup/production-environment/container-runtimes/

手っ取り早く、結論と対策を知りたい方は、下を実施してみてください。

結論

  • centos 7.6は現時点でkernelの最新は3.10の為、overlay2は利用できなかった
  • overlayが対応するfilesystemにxfsは含まれているが、xfsではoverlayが利用できないみたい(ext4で再セットアップした環境では起動できた)

対策

  1. filesystemはext4でインストールする
  2. daemon.jsonファイルは以下の通りにする
/etc/docker/daemon.json
{
 "exec-opts": ["native.cgroupdriver=systemd"],
 "log-driver": "json-file",
 "log-opts": {
   "max-size": "100m"
 },
 "storage-driver": "ovrlay"
}

調査詳細

以下はセットアップの内容、エラー内容を記載します。
同様の現象であれば、上記の対策を実施してみてはいかがでしょうか。

dockerインストール

kubernete v1.15 で使うdockerをインストール方法を参考にしていただきたい。

jsonファイルの作成

/etc/docker/daemon.json
{
 "exec-opts": ["native.cgroupdriver=systemd"],
 "log-driver": "json-file",
 "log-opts": {
   "max-size": "100m"
 },
 "storage-driver": "ovrlay2"
}

フォルダの作成&サービス再起動

mkdir -p /etc/systemd/system/docker.service.d

systemctl daemon-reload
systemctl restart docker

dockerサービスを再起動するとエラーが???

Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.

「systemctl status docker.service」と「journalctl -xe」を見ろと言われるのとりあえず見てみる

$ sudo systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since 土 2019-11-16 09:56:02 JST; 2min 28s ago
     Docs: https://docs.docker.com
  Process: 1684 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)
 Main PID: 1684 (code=exited, status=1/FAILURE)

11月 16 09:56:02 kbmaster systemd[1]: docker.service: main process exited, code=exi...URE
11月 16 09:56:02 kbmaster systemd[1]: Failed to start Docker Application Container ...ne.
11月 16 09:56:02 kbmaster systemd[1]: Unit docker.service entered failed state.
11月 16 09:56:02 kbmaster systemd[1]: docker.service failed.
11月 16 09:56:02 kbmaster systemd[1]: docker.service holdoff time over, scheduling ...rt.
11月 16 09:56:02 kbmaster systemd[1]: Stopped Docker Application Container Engine.
11月 16 09:56:02 kbmaster systemd[1]: start request repeated too quickly for docker...ice
11月 16 09:56:02 kbmaster systemd[1]: Failed to start Docker Application Container ...ne.
11月 16 09:56:02 kbmaster systemd[1]: Unit docker.service entered failed state.
11月 16 09:56:02 kbmaster systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

はぁ、よくわからない。。。
なので、"journalctl -xe"を実行してみる

$ sudo journalctl -xe
11月 16 09:56:02 kbmaster systemd[1]: docker.service failed.
11月 16 09:58:31 kbmaster sudo[1704]: futamata : TTY=pts/0 ; PWD=/home/futamata ; USER=roo
11月 16 09:58:31 kbmaster sudo[1704]: pam_unix(sudo:session): session opened for user root
11月 16 09:58:31 kbmaster sudo[1704]: pam_unix(sudo:session): session closed for user root
11月 16 10:01:01 kbmaster 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.
11月 16 10:01:01 kbmaster systemd[1]: Started Session 2 of user root.
-- Subject: Unit session-2.scope has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit session-2.scope has finished starting up.
-- 
-- The start-up result is done.
11月 16 10:01:01 kbmaster CROND[1707]: (root) CMD (run-parts /etc/cron.hourly)
11月 16 10:01:01 kbmaster run-parts(/etc/cron.hourly)[1710]: starting 0anacron
11月 16 10:01:01 kbmaster anacron[1716]: Anacron started on 2019-11-16
11月 16 10:01:01 kbmaster run-parts(/etc/cron.hourly)[1718]: finished 0anacron
11月 16 10:01:01 kbmaster anacron[1716]: Will run job `cron.daily' in 41 min.
11月 16 10:01:01 kbmaster anacron[1716]: Will run job `cron.weekly' in 61 min.
11月 16 10:01:01 kbmaster anacron[1716]: Jobs will be executed sequentially
11月 16 10:01:47 kbmaster sudo[1721]: futamata : TTY=pts/0 ; PWD=/home/futamata ; USER=roo
11月 16 10:01:47 kbmaster sudo[1721]: pam_unix(sudo:session): session opened for user root
lines 2162-2190/2190 (END)

これまた、全くよくわからない。
daemon.jsonをrenameすると起動することからjsonファイルの記載が正しくないことが判明した。

参考

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?