【エラー対応】Docker「Encountered errors while bringing up the project」の解決法

Docker

エラー発生時の状況

WordPressの開発環境を作ろうとした

dockerを使ってmysqlWordPressをローカルで立ち上げるためにコンテナを立ち上げた時にエラーが発生した。

エラー内容

docker-compose up -d を実行した際以下のエラーが出力された。

使用したymlファイル

// wpTestEnvironmentというフォルダを作る
$ mkdir wpTestEnvironment

// wpTestEnvironmentに移動する
$ cd wpTestEnvironment

// ymlファイルを作る
$ touch docker-compose.yml

// 以下の内容をymlファイルに書き込む
version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

// compose up(ここでエラー発生)
docker-compose up -d

エラーを解決する

エラー原因を調査

ERROR: for 44263889d96b_wptestenvironment_wordpress_1  
Cannot start service wordpress: driver failed programming external 
connectivity on endpoint 44263889d96b_wptestenvironment_wordpress_1
~: Bind for 0.0.0.0:8000 failed: port is already allocated

ERROR: for wordpress  Cannot start service wordpress: driver failed programming external 
connectivity on endpoint 44263889d96b_wptestenvironment_wordpress_1 
~: Bind for 0.0.0.0:8000 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

「Bind for 0.0.0.0:8000 failed: port is already allocated」のエラーを読み解くと、すでに8000番ポートは使われているため、8000番ポートは使用することができないとのこと。

解決方法1

結論からいうとWordPressにつながるポートを変更した。これによってポートの衝突が回避され、無事見慣れた画面がでてきた。

解決方法2

8000番ポートが使用されていたことがことの発端だが、この8000番ポートで動いていた処理を止めてあげても良かったかもしれない。

// before
ports:
       - "8000:80"

// after
ports:
       - "80:80"

番外:おすすめアイテム

記事の内容とは別に自宅・オフィスでの開発がもっと快適に、楽しくなる商品を紹介します。アイテム1つで開発効率が一気に向上したり、開発のモチベーションが上がったりするので良いアイテムにはお金を投資すると良いかと。

KATUO
KATUO
今回紹介する商品は普段自分が使っているものなので自信を持ってお勧めできますー。では1つずつ紹介していきます。

おすすめアイテム①

自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。また疲労感もかなり減るので費用対効果が非常に高いアイテムです。

おすすめアイテム②

ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。自分も購入した時なんでいままで使ってなかたんだろうと後悔したのでまだ持ってない方は買っておくと作業効率があがります。

おすすめアイテム③

PCスタンド、magic keyboard、magic mouseを購入してから、開発効率があがり、身体的負担が減って快適に開発ができるようになりました。

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。初心者には最低限読んでおいて欲しい技術本をまとめました。例えば「リーダブルコード」などは技術力の高いエンジニアなら必ず過去に読んでいる本だと思います。

筆者
筆者

今回の記事の内容は以上で終了です!最後まで読んでくれてありがとうございました!Twitterもやってるのでよかったらフォローしてください!

タイトルとURLをコピーしました