実現したいこと
環境構築で転んでいるので質問させてください。
以下の様にGemfileに書かれているgemのbundle instal
lで転んで、docker-compose build
コマンドの実行に失敗しています。
この原因がわからないので、現状を共有させてください。
.zshrc
にBUNDLE_GITHUB__COM
を設定、ローカルではbundle install
に成功しているものです。
これをdocker環境で動かすために、Dockerfile
を作って実行してbundle install
に失敗しています。
docker-compose build
の失敗メッセージには、以下の記述があります。
Git error: command `git clone 'https://github.com/company/gemname.git'
困っているのは、何か認証に失敗していると思って、bundle install
の直前までコメントアウトして、buildしたdockerイメージの中に入ってbundle installを実行すると、その時はbuildに成功してしまうことです。
docker-compose run -it app /bin/sh bundle install
なのに、docker-compose build
に失敗する。
こういう時は、何が原因なんだろうと悩んでいます。
出来る範囲で、環境の情報を以下に共有させていただきます。
よろしくお願いいたします。
実行環境、WSL2環境のUbuntu-22.04
zshrc
1export GIT_TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXX" 2export GIT_USER="myname" 3export BUNDLE_GITHUB__COM="${GIT_USER}:${GIT_TOKEN}"
Gemfile
1gem 'private_gem', git: 'https://github.com/company/private_gem.git'
docker
1version: "3.9" 2services: 3 app: 4 build: . 5 ports: 6 - "3000:3000" 7 command: bundle exec rails s -p 3000 -b '0.0.0.0' 8 tty: true 9 stdin_open: true 10 entrypoint: ./docker/scripts/app_entrypoint.sh 11 env_file: 12 - docker/enviroments/.app.dev 13 environment: 14 - BUNDLE_GITHUB__COM 15
Dockerfile
1FROM ruby:2.5.9 2 3RUN apt-get update -qq && \ 4 apt-get install -y nodejs postgresql-client && \ 5 apt-get install -y openssh-client git 6 7WORKDIR /app 8 9COPY Gemfile /app/Gemfile 10COPY Gemfile.lock /app/Gemfile.lock 11 12RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts 13RUN --mount=type=ssh bundle install -j8 14COPY . /app 15 16ENTRYPOINT ["/app/docker/scripts/app_entrypoint.sh"] 17 18EXPOSE 3000

回答1件
あなたの回答
tips
プレビュー