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

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

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

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

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

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

Q&A

解決済

1回答

274閲覧

docker-compose run app の途中で発生するエラーが解決できない

jmt

総合スコア13

docker-compose

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

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

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

0グッド

0クリップ

投稿2024/06/27 05:32

編集2024/06/27 08:47

実現したいこと

docker-compose run app を最後まで実行したい。

発生している問題・分からないこと

docker環境構築中に docker-compose run app setup_once で発生するエラーで先に進めていません。

docker 初心者です。
今までは PHP + xampp や MAMP 等でローカル開発を行っていましたが、必要に迫られて ruby + docker の環境構築を試みています。

検索は色々としたのですが、解決には至らず、、
次に、実行環境や、関連ファイル、試したこと等を記載します。
Dockerfile、docker-compose.yml は別担当者が2022年より以前に作成したもので、本人にはすぐに確認できない状態です。
もし、何かお気づきの点がございましたらご指摘頂けますと、大変助かります。

エラーメッセージ

error

1.... 2#12 29.87 Preparing to unpack google-chrome-stable_current_amd64.deb ... 3#12 29.88 Unpacking google-chrome-stable (126.0.6478.126-1) ... 4#12 38.51 dpkg: dependency problems prevent configuration of google-chrome-stable: 5#12 38.51 google-chrome-stable depends on libu2f-udev; however: 6#12 38.51 Package libu2f-udev is not installed. 7#12 38.51 google-chrome-stable depends on libvulkan1; however: 8#12 38.51 Package libvulkan1 is not installed. 9#12 38.51 10#12 38.51 dpkg: error processing package google-chrome-stable (--install): 11#12 38.51 dependency problems - leaving unconfigured 12#12 38.51 Processing triggers for mime-support (3.62) ... 13#12 38.56 Errors were encountered while processing: 14#12 38.56 google-chrome-stable 15------ 16executor failed running [/bin/sh -c apt-get update && apt-get install -y vim build-essential patch libnss3 gconf2 libappindicator3-1 libasound2 libxss1 xdg-utils libgtk-3-0 libx11-xcb1 libxtst6 fonts-liberation lsb-release unzip libdrm2 libgbm1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && dpkg -i google-chrome-stable_current_amd64.deb]: exit code: 1 17ERROR: Service 'worker' failed to build : Build failed

該当のソースコード

Dockefile

1FROM ****/****-ruby-base:8 **** ##サービス名関連の為、伏せてあります。 2 3ARG RAILS_MASTER_KEY 4ENV RAILS_MASTER_KEY=$RAILS_MASTER_KEY 5 6ARG RAILS_ENV=development 7ENV RAILS_ENV=$RAILS_ENV 8 9RUN mkdir -p /app/tmp/pids 10WORKDIR /app 11 12ADD Gemfile Gemfile.lock /app/ 13 14RUN bundle install --without test --deployment 15 16COPY . /app 17 18RUN ./bin/yarn 19RUN ./bin/rails assets:precompile

docker

1version: '3' 2services: 3 mysql: 4 build: 5 context: . 6 dockerfile: Dockerfile.mysql.dev 7 environment: 8 - MYSQL_ALLOW_EMPTY_PASSWORD=yes 9 ports: 10 - 3306:3306 11 volumes: 12 - mysql-data:/var/lib/mysql 13 app: 14 build: 15 context: . 16 dockerfile: Dockerfile.dev 17 command: bundle exec rails server --port=3000 --binding=0.0.0.0 18 ports: 19 - 3000:3000 20 depends_on: 21 - mysql 22 - redis 23 volumes: 24 - .:${PWD} 25 - .:/app 26 - bundle_install:/app/vendor/bundle 27 - bundle:/app/.bundle 28 - node_modules:/app/node_modules 29 environment: 30 AWS_ACCESS_KEY_ID: 31 AWS_SECRET_ACCESS_KEY: 32 tty: true 33 stdin_open: true 34 cap_add: 35 - sys_admin 36 worker: 37 build: 38 context: . 39 dockerfile: Dockerfile.dev 40 command: bundle exec sidekiq -C config/sidekiq.yml 41 depends_on: 42 - mysql 43 - redis 44 volumes: 45 - .:${PWD} 46 - .:/app 47 - bundle_install:/app/vendor/bundle 48 - bundle:/app/.bundle 49 - node_modules:/app/node_modules 50 environment: 51 AWS_ACCESS_KEY_ID: 52 AWS_SECRET_ACCESS_KEY: 53 redis: 54 build: 55 context: . 56 dockerfile: Dockerfile.redis.dev 57 ports: 58 - 6379:6379 59 middlewares: 60 image: alpine 61 command: "echo run middlewares" 62 depends_on: 63 - mysql 64 - redis 65volumes: 66 mysql-data: 67 driver: local 68 bundle_install: 69 driver: local 70 bundle: 71 driver: local 72 node_modules: 73 driver: local

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

試したこと: 1

however:... で無いと言われた次のパッケージをインストールしてみた後、
再度 docker-compose up app を実行してみましたが、 結果、変わらずでした。

sudo apt-get update -y
sudo apt-get install -y libu2f-udev
sudo apt-get install -y libvulkan1

試したこと: 2

executor failed running [/bin/sh -c apt-get update && apt-get install -y vim build-essential patch libnss3 gconf2 libappindicator3-1 libasound2 libxss1 xdg-utils libgtk-3-0 libx11-xcb1 libxtst6 fonts-liberation lsb-release unzip libdrm2 libgbm1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && dpkg -i google-chrome-stable_current_amd64.deb]: exit code: 1

上記で [] 内の各処理を個別に実行してみた。全て問題が無さそうな、、、認識です。

/bin/sh -c apt-get update

apt のバージョンとヘルプが表示される。

apt-get install -y vim build-essential patch libnss3 gconf2 libappindicator3-1 libasound2 libxss1 xdg-utils libgtk-3-0 libx11-xcb1 libxtst6 fonts-liberation lsb-release unzip libdrm2 libgbm1 --no-install-recommends

全てインストール成功

rm -rf /var/lib/apt/lists/*

削除成功

curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

ダウンロード成功

dpkg -i google-chrome-stable_current_amd64.deb

実行成功

補足

Windows 10 Pro
WSL2 (Windows Subsystem for Linux)
Ubuntu 22.04.2 LTS
Docker Desktop for Windows

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

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

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

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

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

satoshih

2024/06/27 07:03

試したこと1と2はDockerコンテナ内で実行したのでしょうか? それともホストマシンでしょうか?
jmt

2024/06/27 07:18

コメントありがとうございます。ホストマシンで実行していますね、、、コンテナ内に入る必要があるのですね。試してみます。
satoshih

2024/06/27 07:22

Dockefile 内の 13行目付近で 試したこと1 をやってみてください ``` RUN apt-get update && apt-get install -y libu2f-udev libvulkan1 ``` のようなイメージです
melian

2024/06/27 07:28

参考までに、apt コマンドはローカルファイル(*.deb) にも対応しています。依存関係にあるパッケージを自動でインストールしてくれます。 dpkg -i google-chrome-stable_current_amd64.deb => apt install ./google-chrome-stable_current_amd64.deb
jmt

2024/06/28 00:54

satoshih さん、ありがとうございます。実は、参照しているのが、記載していた Dockerfile ではなく Dockerfile.dev という開発環境用のファイルでした、、、 ご提案の内容はそちらに追記し、どうやらエラーを脱したようです。今度はその後の docker-compose up の反応が出なくなりましたが、、、これは別に原因調査中です。
jmt

2024/06/28 01:05

melian さん、コメントありがとうございます。依存性を解決してくれる apt の方が良さそうですね、、、ご教示頂きありがとうございます。
guest

回答1

0

自己解決

docker-compose.yml 中の、app ブロックの dockerfile を見ると、参照しているのは、 Dockerfile.dev でした、、、

... app: build: context: . dockerfile: Dockerfile.dev << ここを見落としていた

この Dockerfile.dev に、コメントで satoshih さんからご提案頂いた内容を追加する事で、ひとまず冒頭のエラーの状態は脱しました。画面表示に至るまでには他にも色々とやりましたが、ひとまずこれでタイトルのエラーは脱しています。コメントを頂いた、satoshih さん、melianさん、誠にありがとうございました。ご教示頂き、大変助かりました。

Dockerfile.dev

FROM ruby:2.6.3 # for npm install RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - RUN apt-get update && \ apt-get install -y default-mysql-client nodejs --no-install-recommends && \ npm config set unsafe-perm=true && \ npm install -g yarn RUN gem install thor RUN mkdir -p /app WORKDIR /app ADD Gemfile Gemfile.lock /app/ # libu2f-udev libvulkan1 追加 RUN apt-get update && \ apt-get install -y vim build-essential patch libnss3 gconf2 libappindicator3-1 libasound2 libxss1 xdg-utils libgtk-3-0 libx11-xcb1 libxtst6 fonts-liberation lsb-release unzip libdrm2 libgbm1 libu2f-udev libvulkan1 --no-install-recommends && \ rm -rf /var/lib/apt/lists/* && \ curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ dpkg -i google-chrome-stable_current_amd64.deb RUN CHROME_DRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE` && \ curl -O https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip && \ unzip chromedriver_linux64.zip && \ mv chromedriver /usr/local/bin/chromedriver && \ chmod +x /usr/local/bin/chromedriver && \ curl -O "https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip" && \ unzip NotoSansCJKjp-hinted.zip && \ mkdir -p /usr/share/fonts/noto && \ cp -p *.otf /usr/share/fonts/noto/ && \ fc-cache -fv ENV ENTRYKIT_VERSION 0.4.0 RUN wget https://github.com/progrium/entrykit/releases/download/v${ENTRYKIT_VERSION}/entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz \ && tar -xvzf entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz \ && rm entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz \ && mv entrykit /bin/entrykit \ && chmod +x /bin/entrykit \ && entrykit --symlink RUN mkdir -p /app WORKDIR /app RUN bundle config build.nokogiri --use-system-libraries ENTRYPOINT [ \ "prehook", "ruby -v", "--", \ "prehook", "rm -f tmp/pids/server.pid", "--", \ "prehook", "bundle install -j3 --quiet --path vendor/bundle", "--", \ "prehook", "yarn install", "--", \ "switch", \ "shell=/bin/bash", \ "db=echo db start only", \ "console=bundle exec rails console", \ "bundle=bundle install", \ "yarn=bundle exec bin/yarn", \ "setup=infra/scripts/docker-setup.sh", \ "setup_once=infra/scripts/docker-setup-once.sh", \ "db_setup=bundle exec rails db:setup db:seed_fu", \ "db_drop=bundle exec rails db:drop:_unsafe", \ "db_create=bundle exec rails db:create", \ "db_migrate=bundle exec rails db:migrate", \ "db_seed=bundle exec rails db:seed_fu", "--"\ ] # vim:ft=dockerfile

投稿2024/06/28 07:19

jmt

総合スコア13

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.40%

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

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

質問する

関連した質問