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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

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

Q&A

解決済

4回答

3853閲覧

Laradockでnginxのエラー

barbar

総合スコア11

docker-compose

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

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

0グッド

0クリップ

投稿2019/06/06 04:27

編集2019/06/07 07:45

LaradockでLarabelを利用してみたいのですが、
nginxの部分でエラーが出てうまくいきません。

手順は以下のページを参照にしてました。
https://qiita.com/TokyoTools/items/78fd3d1b31a62d568d32

エラーとなったのは、

docker-compose up -d nginx mysql redis beanstalkd

を実行した後で最後に、下記のエラーが出てどうやらインストールがうまくいっていないようです。

ERROR: Service 'nginx' failed to build: The command '/bin/sh -c apk update && apk upgrade && apk --update add logrotate && apk add --no-cache openssl && apk add --no-cache bash && adduser -D -H -u 1000 -s /bin/bash www-data' returned a non-zero code: 1

原因として何が考えられるでしょうか? 以上よろしくお願いいたします。

環境 mac
イメージ説明

nginxのDockerfileです。(ダウンロードしただけの未編集状態)※本質問の次の日にダウンロードした。

FROM nginx:alpine LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" COPY nginx.conf /etc/nginx/ # If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. ARG CHANGE_SOURCE=false RUN if [ ${CHANGE_SOURCE} = true ]; then \ # Change application source from dl-cdn.alpinelinux.org to aliyun source sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \ ;fi RUN apk update \ && apk upgrade \ && apk --update add logrotate \ && apk add --no-cache openssl \ && apk add --no-cache bash RUN set -x ; \ addgroup -g 82 -S www-data ; \ adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1 ARG PHP_UPSTREAM_CONTAINER=php-fpm ARG PHP_UPSTREAM_PORT=9000 # Create 'messages' file used from 'logrotate' RUN touch /var/log/messages # Copy 'logrotate' config file COPY logrotate/nginx /etc/logrotate.d/ # Set upstream conf and remove the default conf RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \ && rm /etc/nginx/conf.d/default.conf ADD ./startup.sh /opt/startup.sh RUN sed -i 's/\r//g' /opt/startup.sh CMD ["/bin/bash", "/opt/startup.sh"] EXPOSE 80 443

↓本質問のエラーが表示された時にgit cloneしていたnginxのDockerfileです(未編集)。

FROM nginx:alpine LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" COPY nginx.conf /etc/nginx/ # If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. ARG CHANGE_SOURCE=false RUN if [ ${CHANGE_SOURCE} = true ]; then \ # Change application source from dl-cdn.alpinelinux.org to aliyun source sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \ ;fi RUN apk update \ && apk upgrade \ && apk --update add logrotate \ && apk add --no-cache openssl \ && apk add --no-cache bash \ && adduser -D -H -u 1000 -s /bin/bash www-data ARG PHP_UPSTREAM_CONTAINER=php-fpm ARG PHP_UPSTREAM_PORT=9000 # Create 'messages' file used from 'logrotate' RUN touch /var/log/messages # Copy 'logrotate' config file COPY logrotate/nginx /etc/logrotate.d/ # Set upstream conf and remove the default conf RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \ && rm /etc/nginx/conf.d/default.conf ADD ./startup.sh /opt/startup.sh RUN sed -i 's/\r//g' /opt/startup.sh CMD ["/bin/bash", "/opt/startup.sh"] EXPOSE 80 443

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

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

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

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

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

xenbeat

2019/06/07 05:45 編集

Laradockのバージョンを明記ください。
xenbeat

2019/06/07 06:03 編集

なるほど。では念のためnginxのDockerfileを追記いただけますでしょうか。
barbar

2019/06/07 06:40

引き続きコメントありがとうございます。 質問欄にnginxのDockerfileコードを追記しました。 git cloneしただけの未編集状態です。
xenbeat

2019/06/07 07:16

> git cloneしただけの未編集状態です。 ご質問のエラーが発生してから最新を取得しましたか? (今手元にあるのは問題発生時点のコードではない?) エラーの中にある「adduser -D -H -u 1000 -s /bin/bash www-data'」が見当たらないので。
barbar

2019/06/07 07:48

>今手元にあるのは問題発生時点のコードではない? はい、あらためて本日取得したコードでした。昨日取得(エラー発生時)したコードを追記しました。 昨日取得したのと、 本日取得したのが既にコードが変わっていたようです。。。
guest

回答4

0

ベストアンサー

今手元にあるのは問題発生時点のコードではない?

はい、あらためて本日取得したコードでした。昨日取得(エラー発生時)したコードを追記しました。

最新を取得して(昨日取得したコードでなく本日取得したコードにして)
docker-compose build --no-cache nginxを実行してみてください。

未検証ですが、次のPRで解決されているものと思います。
https://github.com/laradock/laradock/pull/2162

投稿2019/06/07 07:56

xenbeat

総合スコア4258

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

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

barbar

2019/06/07 08:08

出来ました! 今日は作業していなかったのですが、先程改めてgit cloneしたコードで試したら普通にいけました! こんなこともあるのですね。いい経験になりました。ありがとうございます。
xenbeat

2019/06/07 08:23

> こんなこともあるのですね。 ベースイメージに「nginx:alpine」と指定しているので、ベース側に何か変更があれば今まで動いていたものが突然動かなくなるというのは当然あり得る話です。 ともあれ解決出来てよかったです!
guest

0

同じようなエラーで解決しているURLがあったので貼っときます。
Laladock

投稿2019/06/06 04:59

ices_sinon

総合スコア479

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

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

barbar

2019/06/06 05:15

ご回答ありがとうございます。 貼って頂いたページも試してみたのですが、うまくいきませんでした。 2年前の記事なので微妙かなと思ったのですが、関係性はありそうなのでもう少し調べてみます。
Kazuyuki-T0806

2019/06/27 13:18

こちらですが解決していない方法なので評価を下げました
guest

0

docker-composeのインストールはできていますか?

curl -L https://github.com/docker/compose/releases/download/1.25.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

投稿2019/06/06 12:08

karlovic

総合スコア13

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

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

barbar

2019/06/06 12:32

コメントありがとうございます。 はい、Docker Desktopの場合はセットでインストール済みで、 docker-composeはUbuntuでもインストールできています。
guest

0

Laradockはバージョンアップでかなり構造が変わるので、公式ドキュメントを参照してください。
Laradock
難しい場合は、Laravel Homesteadの利用を検討してください。

投稿2019/06/06 04:54

編集2019/06/06 04:54
aro10

総合スコア4106

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

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

barbar

2019/06/06 05:01

ご回答ありがとうございます。 VirtualBoxにインストールしたUbuntuでも、まったく同じエラーが出ました。 バージョンで頻繁に仕様が変わるようだと、Dockerを利用している恩恵もあまりないような気がします。 公式ドキュメント読み込んでみたいと思います。
aro10

2019/06/06 08:35

LaradockはLaravelに必要なDocker構築の参考とどめて、自分用にカスタマイズした方がいいかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問