LoginSignup
1
2

More than 3 years have passed since last update.

$docker-compose build . でERROR: No such service: . のエラーが出た

Last updated at Posted at 2020-07-14

Dockerfile, Gemfile, Gemfile.lock, docker-compose.ymlだけ用意して、
Railsのコンテナを立ち上げようと$docker-compose build .したところ、

$docker-compose build .
ERROR: No such service: .

というエラーが出た。

やってみたこと①

調べてみて、カレントディレクトリで起動しない時は
docker-compose.ymlに、container_nameの環境変数を設定し、コンテナ名指定でbuildしたらいいとのこと。

container_name: <任意のcontainername(以下x)>
を追記して、$docker-compose build xを実行。

しかし、
ERROR: No such service: X
とまたエラーが。

やってみたこと②

$ docker-compose up --build
buildだけではなく、upにbuildオプションをつけて実行。

ERROR: for x  Cannot start service app: driver failed programming external connectivity on endpoint x (1a6e5c0ea852dd7d3b92a0456e83a1c17880e38a71563eb3a350693ca620b1ab): Bind for 0.0.0.0:3000 failed: port is already allocated

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

そうすると指定したportがすでに使われているとのエラーが出たので、portを3000:3000から8080:8080に変更して再度$docker-compose up --buildを実行。

エラーが出ずきちんと走ったので、buildできるかと思ったが、

Attaching to X
で止まってしまった。

やってみたこと③

$docker-compose --verbose build --no-cache

キャッシュ無視でbuildを実行したところ、

Successfully built 1e7c8561a9d9
Successfully tagged foldername_app:latest
compose.cli.verbose_proxy.proxy_callable: docker close <- ()
compose.cli.verbose_proxy.proxy_callable: docker close -> None

でbuildが成功した。


$ docker-compose ps
        Name           Command   State    Ports
-----------------------------------------------
x   irb       Exit 1

StatusがExitになっていたので、$docker restart x で再起動したらUPになった。

1
2
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
1
2