前提・実現したいこと
ECRにPUSHするためにローカルでdocker buildする際に表題のエラーが発生しました。
docker-compose up -dではエラーは発生していません。
発生している問題・エラーメッセージ
Step 1/11 : FROM ruby:2.6.3-alpine ---> 6ddb199f039f Step 2/11 : ARG RAILS_ENV ---> Using cache ---> cd7ab33d42b9 Step 3/11 : ENV ROOT_PATH /navi-biz-api/ ---> Using cache ---> 85c716416d4b Step 4/11 : ENV LANG C.UTF-8 ---> Using cache ---> 76855d68016c Step 5/11 : ENV PORT 80 ---> Using cache ---> 6ae850dd5c76 Step 6/11 : COPY Gemfile* $ROOT_PATH COPY failed: no source files were specified
該当のソースコード
フォルダ構成
├── /docker/rails/Dockerfile ├──docker-compose.yml ├──Gemfile ├──Gemfile.lock
実行のコマンド
※アプリケーションディレクトリで実行 docker build -t navi-biz/api ./docker/rails/
Dockerfile
FROM ruby:2.6.3-alpine ARG RAILS_ENV ENV ROOT_PATH /navi-biz-api/ ENV LANG C.UTF-8 ENV PORT 80 COPY Gemfile* $ROOT_PATH WORKDIR $ROOT_PATH RUN apk upgrade --no-cache && \ apk update && apk add git && \ apk add --update --no-cache --virtual=build-dependencies \ postgresql-dev \ build-base \ curl-dev \ linux-headers \ libxml2-dev \ libxslt-dev \ ruby-dev \ yaml-dev \ zlib-dev && \ apk add --update --no-cache \ bash \ ruby-json \ tzdata \ nodejs \ postgresql \ yaml && \ gem install bundler -v '2.0.2' && \ bundle install -j4 && \ rm -rf /usr/local/bundle/cache/*.gem COPY . $ROOT_PATH ENV SECRET_KEY_BASE RUN ["bundle", "exec", "rake", "secret"] CMD rm -f tmp/pids/unicorn.pid && \ bundle exec unicorn_rails -E $RAILS_ENV -c config/unicorn.rb -p ${PORT}
docker-compose.yml
version: '3.5' services: app: build: context: . dockerfile: ./docker/rails/Dockerfile volumes: - .:/navi-biz-api - ./tmp:/navi-biz-api/tmp - ./log:/navi-biz-api/log - bundle-data:/usr/local/bundle ports: - 3200:80 networks: - navi-biz depends_on: - db environment: RUBYOPT: -EUTF-8 DATABASE_USER: postgres DATABASE_PASSWORD: password DATABASE_HOST: db DATABASE_HOST_RO: db RAILS_ENV: development stdin_open: true tty: true db: build: context: . dockerfile: ./docker/postgres/Dockerfile ports: - 25432:5432 networks: - navi-biz environment: POSTGRES_PASSWORD: password POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=C" volumes: - ./docker/postgres/init.sh:/docker-entrypoint-initdb.d/init.sh - ./db-data:/var/lib/postgresql/data - ./tmp:/tmp networks: navi-biz: name: navi-biz-network volumes: bundle-data: tmp: log: db-data: es_tour_data:
試したこと
コマンド実行のディレクトリをDockerfileと同一位置にしてみたりしましたがうまくいきませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。