0
0

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-compose upでTime Out Errorが出て、コンテナが起動できない。

Last updated at Posted at 2021-03-11

Docker-compose upで次のエラーが出てしまう。

ERROR: for develop_db_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

タイムアウトしてる的なことが書いてありますが、さっきまで元気に動いてたのにな。。

要約

今回上記のエラーに対して、3つの方法を試しました。1つ目は「docker restart」をコマンド実行。2つ目はPCの再起動(Macのアップデートついで)。3つ目はdockerのアップデートです。結論、dockerアプリのアップデートでなぜか解決されましたが、原因は不明です。考察も何もないので、参考程度に見ていただければと思います。原因が分かる人は後学のためにぜひご教授いただければ嬉しいです。

試したこと

Docker restart

下記を参考にdocker restartしてみました。
https://github.com/docker/compose/issues/3633#issuecomment-254194717

$ docker restart 161126611c36

何も音沙汰がない、、、
タイムアウトのエラーすらも出ない、、、

一旦Ctrl + cで脱出。

再起動

一度Mac OSのアップデートもあってたのでついでにPCを再起動しました。

試しにdocker-compose upしてみます。

$ docker-compose up
Starting develop_db_1 ... done
Starting develop_web_1 ...
Starting develop_web_1 ... error

ERROR: for develop_web_1  Cannot start service web: driver failed programming external connectivity on endpoint develop_web_1 (1087b48b01978ddeb71ba3f659512092f15c8cd18e961a22cf3ed708c06fa8dc): Bind for 0.0.0.0:3000 failed: port is already allocated

ERROR: for web  Cannot start service web: driver failed programming external connectivity on endpoint develop_web_1 (1087b48b01978ddeb71ba3f659512092f15c8cd18e961a22cf3ed708c06fa8dc): Bind for 0.0.0.0:3000 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

なんか今度はportが空いてないけど?的なエラーみたいですね。
Mac OSにも関わってるエラーだったのか?
とりあえず今実行中のコンテナがあるか確認します。

$ docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS         PORTS      NAMES
161126611c36   postgres   "docker-entrypoint.s…"   4 weeks ago   Up 2 minutes   5432/tcp   develop_db_1

「develop_db_1」が起動されてますね。
killしましょう。

$ docker kill 161126611c36
161126611c36

$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

もう一度立ち上げてみます。

$ docker-compose up
Starting develop_db_1 ... done
Starting develop_web_1 ...
Starting develop_web_1 ... error

ERROR: for develop_web_1  Cannot start service web: driver failed programming external connectivity on endpoint develop_web_1 (e984d233040217363a16f5c962ac83a245aad3115ed1f06ee30ba69b5ab9b7c0): Bind for 0.0.0.0:3000 failed: port is already allocated

ERROR: for web  Cannot start service web: driver failed programming external connectivity on endpoint develop_web_1 (e984d233040217363a16f5c962ac83a245aad3115ed1f06ee30ba69b5ab9b7c0): Bind for 0.0.0.0:3000 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

ああ、また同じエラー。嫌になってくる。

$ docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS          PORTS      NAMES
161126611c36   postgres   "docker-entrypoint.s…"   4 weeks ago   Up 10 seconds   5432/tcp   develop_db_1

dockerアップデート

ん、右上のバーになんかエクスクラメーションマークが出てる。なんだこれは?
スクリーンショット 2021-03-11 7.36.56.png

クリックしてみると、、、もしかしてアップデートが必要なのか?
スクリーンショット 2021-03-11 7.38.01.png

このボタンをクリックしてアップデートしました。
今度こそ。。

$ docker-compose up
Removing develop_web_1
Recreating develop_db_1 ... done
Recreating b349f84b69a8_develop_web_1 ... done
Attaching to develop_db_1, develop_web_1
db_1   |
db_1   | PostgreSQL Database directory appears to contain a database; Skipping initialization
db_1   |
db_1   | 2021-03-11 22:58:45.251 UTC [1] LOG:  starting PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
db_1   | 2021-03-11 22:58:45.252 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
db_1   | 2021-03-11 22:58:45.252 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db_1   | 2021-03-11 22:58:45.257 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1   | 2021-03-11 22:58:45.329 UTC [29] LOG:  database system was interrupted; last known up at 2021-03-11 03:43:38 UTC
db_1   | 2021-03-11 22:58:48.470 UTC [29] LOG:  database system was not properly shut down; automatic recovery in progress
db_1   | 2021-03-11 22:58:48.477 UTC [29] LOG:  redo starts at 0/15CE700
db_1   | 2021-03-11 22:58:48.477 UTC [29] LOG:  invalid record length at 0/15CE738: wanted 24, got 0
db_1   | 2021-03-11 22:58:48.477 UTC [29] LOG:  redo done at 0/15CE700
db_1   | 2021-03-11 22:58:48.522 UTC [1] LOG:  database system is ready to accept connections

結論

アップデートしてなかったのが駄目だったっぽいけど、原因の原因は分かりませんでした。
分かる人いたらぜひ教えて下さい。
ここまで読んでいただいたのに、なんかすみません。

追記 2021/03/13

また同じエラーが出て結構萎えてたんですが、なんと今回はいろいろ調べた結果、Dockerを再起動することで解決できるっぽいです。
https://stackoverflow.com/questions/44407939/cannot-stop-a-running-docker-container

スクリーンショット 2021-03-13 10.59.46.png

「Restart Docker」でDockerを再起動したらなおりました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?