Help us understand the problem. What is going on with this article?

Dockerエラーと立ち向かうPart1

More than 1 year has passed since last update.

Docker難しいけど便利

初投稿です。よろしくお願いします。Docker何にもわからずこれはやばいと思って勉強し始めました。
Dockerを勉強し始めてはや1週間たちました。記事の内容(ボリューム)は少ないですがこつこつDockerの記事をあげていこうと思います。今回はDockerのエラー対応

エラー内容

以下のエラーが出ました。

ERROR: for chap07_webserver_1  Cannot start service webserver: driver failed programming external connectivity on endpoint chap07_webserver_1 ...
ERROR: for webserver  Cannot start service webserver: driver failed programming external connectivity on endpoint chap07_webserver_1 ...
Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.

docker-compose.ymlで定義したポート番号80を使ってwebserverを立ち上げようとしたところこのエラーが出ました。簡単な話、このポート番号で何かしら使用されているというわけです。

解決方法

上記原因でも述べましたが、このポート番号で使用しているプロセスを削除しましょう。

# 僕の場合はポート80をしているので80で実行しました
$ sudo lsof -i:80

COMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
nginx      60   root    6u  IPv4 0xdd8ec12c4a4ab873      0t0  TCP *:http (LISTEN)

上の表から、nginxが使用されていますね。正直いつ起動したかわかりませんが。。
とりあえず消しましょう。

# 占領箇所を特定したら、そのプロセスをkillする
$ sudo kill 80

再度、docker-compose up --buildするとうまくいきました。

最初は「再起動すればうまくいくだろう!!!」と思ってましたが、何一つエラーが消えないので。。メモがわりに投稿しました。

以上です。ありがとうございました。

matsugaknight
エンジニア(フロントエンドandバックエンド) 現在触っているもの React/TypeScript/JavaScript/Vue/Nuxt/Go/Rails/Docker/AWS 勉強したことや作ったものを投稿していきます。
https://note.com/matsugaknight
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした