目標
docker上でchromeを使えるようにしたい。
目標のためにやったこと
元々、Dockerを導入し、CircleCIを連携させてRSpecを自動化させたかったのだが、Docker上にchromeがないためにエラーになってしまっていた。
それを解消するためにDockerにchromeやchromedriverをインストールする記述をググりながら加えてみた。
起きている問題
Dockerfileにchromeやchromedriverをインストールする記述をググりながら加えてみたところ、Dockerfileに書かれている手順の
Run bundle install
のところで、処理が終わらず、ずっとbundle installしてしまう。
エラーが発生するわけでもない。
Dockerfileにchromeやchromedriverをインストールする為の処理を記述してから起きていることなので、Dockerfileの記述に問題があるのだと思うのですが、どこが原因なのか特定できず、、
何か分かる方いらっしゃいましたらご教示くださると幸いです。
実際の処理(最後、キャンセル)
$ docker-compose up --build Docker Compose is now in the Docker CLI, try `docker compose up` Building app [+] Building 14173.2s (11/15) => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 1.39kB 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 34B 0.0s => [internal] load metadata for docker.io/library/ruby:2.6.2 2.7s => [auth] library/ruby:pull token for registry-1.docker.io 0.0s => [ 1/10] FROM docker.io/library/ruby:2.6.2@sha256:d5af6b19da 0.0s => [internal] load build context 0.0s => => transferring context: 94B 0.0s => CACHED [ 2/10] RUN apt-get update -qq && apt-get install -y 0.0s => CACHED [ 3/10] WORKDIR /myapp 0.0s => CACHED [ 4/10] COPY Gemfile /myapp/Gemfile 0.0s => CACHED [ 5/10] COPY Gemfile.lock /myapp/Gemfile.lock 0.0s => CANCELED [ 6/10] RUN bundle install 14170.2s
コード
Dockerfile
1FROM ruby:2.6.2 2RUN apt-get update -qq && apt-get install -y nodejs \ 3 && apt-get install -y chromium-driver \ 4 && CHROME_DRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE` \ 5 && wget -N http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip \ 6 && apt-get install unzip \ 7 && unzip chromedriver_linux64.zip \ 8 && rm chromedriver_linux64.zip \ 9 && mv chromedriver /usr/local/bin/ruby \ 10 && apt install -y gnupg \ 11 && wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \ 12 && wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ 13 && apt install -y ./google-chrome-stable_current_amd64.deb \ 14 && apt clean \ 15 && rm -rf /var/lib/apt/lists/ \ 16 && rm google-chrome-stable_current_amd64.deb 17WORKDIR /myapp 18COPY Gemfile /myapp/Gemfile 19COPY Gemfile.lock /myapp/Gemfile.lock 20# RUN gem install bundler 21# RUN bundle config set --local disable_checksum_validation true 22RUN bundle install 23 24# Add a script to be executed every time the container starts. 25COPY entrypoint.sh /usr/bin/ 26RUN chmod +x /usr/bin/entrypoint.sh 27ENTRYPOINT ["entrypoint.sh"] 28EXPOSE 3000 29 30RUN mkdir -p tmp/sockets 31RUN mkdir tmp/pids 32CMD bundle exec puma 33# Configure the main process to run when running the image 34# CMD ["rails", "server", "-b", "0.0.0.0"]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。