使用MongoDB构建容器时遇到问题,使用docker-compose时出现以下错误 错误:服务“ app”无法生成:COPY失败:stat /var/lib/docker/tmp/docker-builder367230859/entrypoint.sh:无此类文件或目录
我试图将mongo更改为PostgreSQL,但是继续。 我的文件在下面,在此先感谢
那个Dockerfile
version: '3'
services:
web:
image: nginx
restart: always
# volumes:
# - ${APPLICATION}:/var/www/html
# - ${NGINX_HOST_LOG_PATH}:/var/log/nginx
# - ${NGINX_SITES_PATH}:/etc/nginx/conf.d
ports:
- "80:80"
- "443:443"
networks:
- web
mongo:
image: mongo
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
ports:
- "27017:27017"
# volumes:
# - data:/data/db
networks:
- mongo
app:
build: .
volumes:
- .:/mm_api
ports:
- 3000:3000
depends_on:
- mongo
networks:
web:
driver: bridge
mongo:
driver: bridge´´
由docker-compose
FROM ruby:2.7.0
RUN apt-get update -qq && apt-get install -y nodejs
RUN mkdir /mm_api
WORKDIR /mm_api
COPY Gemfile /mm_api/Gemfile
COPY Gemfile.lock /mm_api/Gemfile.lock
RUN bundle install
COPY . /mm_api
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000
CMD ["bundle", "exec", "puma", "-C", "config/puma,rb"]
#CMD ["rails", "server", "-b", "0.0.0.0"]
那个入口点
#!/bin/bash
set -e
rm -f /mm_api/tmp/pids/server.pid
exec "$@"
答案 0 :(得分:0)
在使用Docker处理Rails 6应用程序时,我遇到了类似的问题。
运行docker-compose build
时收到错误消息:
Step 10/16 : COPY Gemfile Gemfile.lock ./
ERROR: Service 'app' failed to build : COPY failed: stat /var/lib/docker/tmp/docker-builder408411426/Gemfile.lock: no such file or directory
这是我修复的方式:
问题是我的项目目录中缺少Gemfile.lock
。我在遇到与宝石依赖有关的问题时就删除了。
我要做的就是运行以下命令来安装必要的gem,然后重新创建Gemfile.lock
:
捆绑安装
然后这一次,当我运行命令docker-compose build
时,一切再次正常运行。
因此,每当遇到此问题时,都应尝试检查目录中是否存在该文件,最重要的是,您指定的文件路径是否正确。
仅此而已。
我希望这会有所帮助