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

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

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

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

Docker

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

Q&A

解決済

1回答

760閲覧

dockerコンテナが起動できない

ttt---aaa

総合スコア21

docker-compose

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

Docker

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

0グッド

0クリップ

投稿2020/07/08 21:34

dockerのコンテナを起動しようとするも、
エラーが発生しますが、エラーの指す意味やどう対応すれば良いか分からず詰まっております。

記述、表示される内容

docker-compose up -d

上記を入力後、以下が表示されます。

Building app Step 1/5 : FROM php:7.2-fpm ---> 78cdf7ff520e Step 2/5 : RUN cd /usr/bin $$ curl -s http://getcomposer.org/installer\n| php && ls -s /usr/bin/composer.phar /usr/bin/composer ---> Running in ae2854d879d3 ls: cannot access '/usr/bin/composer.phar': No such file or directory ls: cannot access '/usr/bin/composer': No such file or directory ERROR: Service 'app' failed to build: The command '/bin/sh -c cd /usr/bin $$ curl -s http://getcomposer.org/installer\n| php && ls -s /usr/bin/composer.phar /usr/bin/composer' returned a non-zero code: 2

試したこと

/usr/bin/ に composer.phar composer
ファイル、ディレクトリが無いから?と思い、

/usr/local/bin/ の配下にcomposer.phar composer を作成し、
再度、dokcer-compose up -dを実行するも変わらず同様のエラーが表記されます。

また、下記ファイル構成で環境構築しており、app/ 配下などに何か別のファイルが必要なのでしょうか?
イメージ説明

そもそも上記の認識が合っているのかも分かりかねる状態ですが、この点について何かご教示いただければと思います。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Docker を動かしているコンピューターに composer を用意してもエラーは消えません

Dcoker コンテナの中に composer を用意する必要があります

docker-compose.yml に次のような箇所があるはずです:

yaml

1services: 2~略~ 3 app: 4~略~ 5 build: ◯◯◯◯

◯◯◯◯ の部分に書かれているファイルパスが ./docker/php であれば、
docker/php/Dockerfile が次の内容になっていることでしょう:

dockerfile

1FROM php:7.2-fpm 2RUN cd /usr/bin $$ curl -s http://getcomposer.org/installer\n| php && ls -s /usr/bin/composer.phar /usr/bin/composer 3...

上記のコードの 2 行目の $$&& に置き換え、\n/usr/bin/composer を取り除きます:

dockerfile

1FROM php:7.2-fpm 2RUN cd /usr/bin && curl -s http://getcomposer.org/installer| php && ls -s /usr/bin/composer.phar

/usr/bin/composer はインストールされませんが、
composer.phar コマンドは問題なく動作します:

console

1$ docker run --rm -it 1af563d06668 bash 2root@a798c261ce7b:/var/www/html# composer.phar --version 3Composer version 1.10.8 2020-06-24 21:23:30

composer コマンドが必要な場合は、次のように、インストールのコマンドでファイル名を指定します:

console

1curl -s https://getcomposer.org/installer | php -- --filename=composer

参考: Composerをインストールしてみた - Qiita

投稿2020/07/08 22:00

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttt---aaa

2020/07/09 21:38

ご指摘いただいた箇所を修正したところ、コンテナ起動できました!(他、記述間違いが何箇所かありました…)。dockerコンテナの中にcomposerを用意しなければならないことも理解できました。非常に分かりやすくお教えいただきありがとうございました^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問