質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

【Docker】port is already allocatedエラーを解決したい

rinimaruranran
rinimaruranran

総合スコア36

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1回答

0評価

0クリップ

28062閲覧

投稿2019/09/19 02:04

前提・実現したいこと

docker-composeでMySQLコンテナを起動させたいです。
現在、"docker-compose up -d"を叩くと、「Bind for 0.0.0.0:3306 failed: port is already allocated」というエラーが出てきてしまい、起動できずにstatusがexit128となります。

発生している問題・エラーメッセージ

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

試したこと

"lsof -i:3306"を実行して該当するPIDを"kill -9 PID"で削除
→"docker-compose down"しても生き残っているPIDがあるのですが、そちらを削除するとdocker本体が停止してしまい、「ERROR: Couldn't connect to Docker daemon. You might need to start Docker for Mac.」が発生します。

docker-compose.ymlファイル内で指定しているport番号を3306から3307に変更
→"docker-compose up -d"で全てのコンテナのstatusがupになりましたが、すぐに「MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.」が発生してしまい、statusがExit134になります。チーム開発しているものになるので、docker-compose.ymlファイルに手を加えたくない所です。

補足情報(FW/ツールのバージョンなど)

macOS
docker v19.03.2
docker-compose v1.24.1

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

yoorwm
yoorwm

2019/09/19 02:11

> docker本体が停止してしまい docker-compose.ymlを修正した程度でdocker本体が停止するレベルのエラーは起きませんよ? > MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. のエラーの方は恐らく、MySQLのエラーじゃなくてMySQLにつなぎに行っているクライアント側のエラーですね。全体の設定が分からないからなんとも言えませんが。 という訳で、docker-compose.ymlやDockerfileなど、必要な情報一式を追記してください。
rinimaruranran
rinimaruranran

2019/09/19 02:20

ご確認頂きありがとうございます! 質問内容に情報追記します。 "> docker本体が停止してしまい docker-compose.ymlを修正した程度でdocker本体が停止するレベルのエラーは起きませんよ?" こちらですが、docker-compose.ymlを修正した際に発生したものではなく、 "lsof -i:3306"を実行して出てきたPIDを削除した際に発生する挙動になります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです