GitLab サーバに Docker インストール → サービス起動時にネットワーク切断が発生(未解決) ※途中 GitLab のアップデートあり

解決できていないのですが、備忘録としてメモしておきます。

経緯・前提

GitLab CI を試したくなったので、 Docker を GitLab サーバにインストールしようとしました。

普通に GitLab サーバを建てていたので、 GitLab と Docker がホスト内に同居する形を想定しています。

なお、 GitLab は 12.10.6-ee です。

Docker インストール

Install Docker Engine on CentOS | Docker Documentationに従ってインストールします。

# yum install yum-utils

## 略

パッケージ yum-utils-1.1.31-54.el7_8.noarch はインストール済みか最新バージョンです
何もしません

yum-utils は既にあるので飛ばします。

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
読み込んだプラグイン:fastestmirror, langpacks, product-id, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

yum-config-manager で Docker のリポジトリを登録。

# yum install docker-ce docker-ce-cli containerd.io

## 略

インストール:
  containerd.io.x86_64 0:1.2.13-3.2.el7    docker-ce.x86_64 3:19.03.12-3.el7
  docker-ce-cli.x86_64 1:19.03.12-3.el7

完了しました!

さて、本題の Docker をインストールし、無事完了を見届けました。

現象発生

この状態で

# service docker start

とすると……沈黙の後、 SSH が切れました。 ping も応答がなくなりました。ついでに Webmin もアクセスできなくなりました。

一方、 GitLab 本体にはアクセスが可能でした。

SSH が接続できなくなってしまったので仕方なくコンソールでログイン。こちらは普通にピンピンしていたので systemctl stop docker で Docker を停止させた後に reboot しました。

reboot 後、全て復旧したことを確認しました。

……しかし、検索しても同様の症例が見付からず今のところ謎現象。

もう一度試すとやはり同じ現象に。

今度は Docker だけ systemctl stop docker でストップ。現象改善せず。

systemctl restart network 。……ダメですね。

Docker を起動する前と後で

  • ls /etc/sysconfig/network-scripts/ で怪しいファイルが確認
  • cat /etc/hosts で設定確認
  • cat /etc/networks で設定確認

しましたがこの辺りは特に変化なし。

ip addr でIPの割り当てを見たところ、 docker0 がいるとダメなようだ、というところまでは突き止めました。

残りはまだ要調査です。

(追記) update

物は試しで yum update してみることにしました。

# yum update

## 略

================================================================================
 Package                 アーキテクチャー
                                バージョン              リポジトリー       容量
================================================================================
インストール中:
 kernel                  x86_64 3.10.0-1127.13.1.el7    updates            50 M
更新します:
 bind-export-libs        x86_64 32:9.11.4-16.P2.el7_8.6 updates           1.1 M
 bind-libs               x86_64 32:9.11.4-16.P2.el7_8.6 updates           156 k
 bind-libs-lite          x86_64 32:9.11.4-16.P2.el7_8.6 updates           1.1 M
 bind-license            noarch 32:9.11.4-16.P2.el7_8.6 updates            90 k
 bind-utils              x86_64 32:9.11.4-16.P2.el7_8.6 updates           259 k
 ca-certificates         noarch 2020.2.41-70.0.el7_8    updates           382 k
 certbot                 noarch 1.5.0-1.el7             epel               44 k
 dbus                    x86_64 1:1.10.24-14.el7_8      updates           245 k
 dbus-libs               x86_64 1:1.10.24-14.el7_8      updates           169 k
 gd-last                 x86_64 2.3.0-2.el7.remi        remi-safe         135 k
 gitlab-ee               x86_64 13.1.4-ee.0.el7         gitlab_gitlab-ee  771 M
 kernel-headers          x86_64 3.10.0-1127.13.1.el7    updates           9.0 M
 kernel-tools            x86_64 3.10.0-1127.13.1.el7    updates           8.0 M
 kernel-tools-libs       x86_64 3.10.0-1127.13.1.el7    updates           8.0 M
 libgudev1               x86_64 219-73.el7_8.8          updates           107 k
 libzip5                 x86_64 1.7.3-1.el7.remi        remi-safe          61 k
 microcode_ctl           x86_64 2:2.1-61.10.el7_8       updates           2.7 M
 mysql-community-client  x86_64 5.7.31-1.el7            mysql57-community  25 M
 mysql-community-common  x86_64 5.7.31-1.el7            mysql57-community 311 k
 mysql-community-libs    x86_64 5.7.31-1.el7            mysql57-community 2.3 M
 mysql-community-libs-compat
                         x86_64 5.7.31-1.el7            mysql57-community 1.2 M
 mysql-community-server  x86_64 5.7.31-1.el7            mysql57-community 173 M
 ntpdate                 x86_64 4.2.6p5-29.el7.centos.2 updates            87 k
 python-perf             x86_64 3.10.0-1127.13.1.el7    updates           8.0 M
 python2-acme            noarch 1.5.0-1.el7             epel               80 k
 python2-certbot         noarch 1.5.0-1.el7             epel              367 k
 python2-certbot-apache  noarch 1.5.0-1.el7             epel              138 k
 python2-configargparse  noarch 0.11.0-2.el7            epel               31 k
 rsyslog                 x86_64 8.24.0-52.el7_8.2       updates           621 k
 selinux-policy          noarch 3.13.1-266.el7_8.1      updates           497 k
 selinux-policy-targeted noarch 3.13.1-266.el7_8.1      updates           7.0 M
 systemd                 x86_64 219-73.el7_8.8          updates           5.1 M
 systemd-libs            i686   219-73.el7_8.8          updates           423 k
 systemd-libs            x86_64 219-73.el7_8.8          updates           416 k
 systemd-python          x86_64 219-73.el7_8.8          updates           143 k
 systemd-sysv            x86_64 219-73.el7_8.8          updates            94 k

トランザクションの要約
================================================================================
インストール   1 パッケージ
更新          36 パッケージ

総ダウンロード容量: 1.1 G

## 略

失敗:
  gitlab-ee.x86_64 0:12.10.6-ee.0.el7     gitlab-ee.x86_64 0:13.1.4-ee.0.el7

完了しました!

あら、 GitLab が失敗してしまいました。慌てず騒がずステップでやって行きます。

# yum list --showduplicates gitlab-ee

## 略

gitlab-ee.x86_64             12.10.6-ee.0.el7                  gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.7-ee.0.el7                  gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.8-ee.0.el7                  gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.9-ee.0.el7                  gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.10-ee.0.el7                 gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.11-ee.0.el7                 gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.12-ee.0.el7                 gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.13-ee.0.el7                 gitlab_gitlab-ee
gitlab-ee.x86_64             12.10.14-ee.0.el7                 gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.0-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.1-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.3-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.4-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.5-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.6-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.7-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.8-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.9-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.0.10-ee.0.el7                  gitlab_gitlab-ee
gitlab-ee.x86_64             13.1.0-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.1.1-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.1.2-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.1.3-ee.0.el7                   gitlab_gitlab-ee
gitlab-ee.x86_64             13.1.4-ee.0.el7                   gitlab_gitlab-ee

12系の最新にしましょう。

# yum install gitlab-ee-12.10.14-ee.0.el7

## 略

Running handlers:
Running handlers complete
Chef Client finished, 20/778 resources updated in 01 minutes 54 seconds
gitlab Reconfigured!
Restarting previously running GitLab services
ok: run: alertmanager: (pid 964) 0s
ok: run: gitaly: (pid 1574) 52956s
ok: run: gitlab-exporter: (pid 960) 1s
ok: run: gitlab-workhorse: (pid 947) 1s
ok: run: grafana: (pid 980) 1s
ok: run: logrotate: (pid 1017) 0s
ok: run: nginx: (pid 1025) 1s
ok: run: node-exporter: (pid 1034) 0s
ok: run: postgres-exporter: (pid 1041) 1s
ok: run: postgresql: (pid 1572) 52959s
ok: run: prometheus: (pid 1051) 0s
ok: run: redis: (pid 1575) 52959s
ok: run: redis-exporter: (pid 1062) 1s
ok: run: sidekiq: (pid 1071) 0s
ok: run: unicorn: (pid 1077) 1s

     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/


Upgrade complete! If your GitLab server is misbehaving try running
  sudo gitlab-ctl restart
before anything else.
If you need to roll back to the previous version you can use the database
backup made during the upgrade (scroll up for the filename).

  検証中                  : gitlab-ee-12.10.14-ee.0.el7.x86_64              1/2
  検証中                  : gitlab-ee-12.10.6-ee.0.el7.x86_64               2/2

更新:
  gitlab-ee.x86_64 0:12.10.14-ee.0.el7

完了しました!

OKです。

# yum update

## 略

error: %pre(gitlab-ee-13.1.4-ee.0.el7.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package gitlab-ee-13.1.4-ee.0.el7.x86_64
gitlab-ee-12.10.14-ee.0.el7.x86_64 was supposed to be removed but is not!
  検証中                  : gitlab-ee-12.10.14-ee.0.el7.x86_64              1/2
  検証中                  : gitlab-ee-13.1.4-ee.0.el7.x86_64                2/2

失敗:
  gitlab-ee.x86_64 0:12.10.14-ee.0.el7    gitlab-ee.x86_64 0:13.1.4-ee.0.el7

完了しました!

あら、12系最新から13系最新はダメですか……。では、一度13系に乗せましょう。

# yum install gitlab-ee-13.0.0-ee.0.el7

## 略

Running handlers:
Running handlers complete
Chef Client finished, 72/834 resources updated in 02 minutes 56 seconds
gitlab Reconfigured!
Restarting previously running GitLab services
ok: run: alertmanager: (pid 22182) 0s
ok: run: gitaly: (pid 1005) 8812s
ok: run: gitlab-exporter: (pid 22179) 1s
ok: run: gitlab-workhorse: (pid 22163) 1s
ok: run: grafana: (pid 22211) 1s
ok: run: logrotate: (pid 22225) 0s
ok: run: nginx: (pid 22240) 1s
ok: run: node-exporter: (pid 22250) 0s
ok: run: postgres-exporter: (pid 22259) 0s
ok: run: postgresql: (pid 1572) 61771s
ok: run: prometheus: (pid 22268) 1s
ok: run: redis: (pid 21840) 163s
ok: run: redis-exporter: (pid 22283) 0s
ok: run: sidekiq: (pid 22289) 1s

     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/


Upgrade complete! If your GitLab server is misbehaving try running
  sudo gitlab-ctl restart
before anything else.
If you need to roll back to the previous version you can use the database
backup made during the upgrade (scroll up for the filename).

  検証中                  : gitlab-ee-13.0.0-ee.0.el7.x86_64                1/2
  検証中                  : gitlab-ee-12.10.14-ee.0.el7.x86_64              2/2

更新:
  gitlab-ee.x86_64 0:13.0.0-ee.0.el7

完了しました!

OKです。再度13系の最新版へ。

# yum update

Running handlers:
Running handlers complete
Chef Client finished, 100/1160 resources updated in 02 minutes 08 seconds
gitlab Reconfigured!
Restarting previously running GitLab services
ok: run: alertmanager: (pid 26533) 1s
ok: run: gitaly: (pid 22230) 2285s
ok: run: gitlab-exporter: (pid 26546) 0s
ok: run: gitlab-workhorse: (pid 26518) 2s
ok: run: grafana: (pid 26561) 1s
ok: run: logrotate: (pid 26578) 0s
ok: run: nginx: (pid 26587) 0s
ok: run: node-exporter: (pid 26601) 1s
ok: run: postgres-exporter: (pid 26609) 0s
ok: run: postgresql: (pid 1572) 64057s
ok: run: prometheus: (pid 26619) 1s
ok: run: puma: (pid 26630) 0s
ok: run: redis: (pid 21840) 2449s
ok: run: redis-exporter: (pid 26640) 1s
ok: run: sidekiq: (pid 26648) 0s

     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/


Upgrade complete! If your GitLab server is misbehaving try running
  sudo gitlab-ctl restart
before anything else.
If you need to roll back to the previous version you can use the database
backup made during the upgrade (scroll up for the filename).

  検証中                  : gitlab-ee-13.1.4-ee.0.el7.x86_64                1/2
  検証中                  : gitlab-ee-13.0.0-ee.0.el7.x86_64                2/2

更新:
  gitlab-ee.x86_64 0:13.1.4-ee.0.el7

完了しました!

OKです。

gitlab-ee-13.1.14-ee
gitlab-ee-13.1.14-ee

これでもう一度 systemctl start docker してみると……症状変わりませんでした……何故……。

# docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10

ちなみに Docker のバージョンは 19.03.12 ですね。

さて、未だに謎です……。

参考

参考になるかどうか不明ですが確認したところ

まだ到達できていないところ

現象が似ている?

GitLab

アップデート

バックアップ(今回とは直接は関係ない)

Tips

この記事を書いた人

アバター

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。