docker-compose up --build使用云docker-machine时构建速度非常慢,一小时后,我遇到了一个找不到entrypoint.sh文件的错误。
在本地Mac docker计算机上,相同的配置可以正常工作。
我的docker文件
FROM python:3.5.2
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD app/ /code/
ADD static/ /code/
ADD entrypoint.sh /code/
我的码头工人组成
version: '3.7'
services:
web:
build: .
command: gunicorn --bind 0.0.0.0:8000 app.wsgi
volumes:
- .:/code
entrypoint: ./entrypoint.sh
expose:
- "80"
nginx:
image: nginx:1.15.5
restart: always
ports:
- "80:80"
volumes:
- ./static:/static
depends_on:
- web
我运行的命令
cd myprojectfolder
eval $(docker-machine env [my-cloud-machine-name])
docker-compose -f docker-compose.yml -f envs/prd/prd.yml up --build -d
一个小时后出现错误(我的项目文件只有40mb)
错误:对于Web无法启动服务Web:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“ exec:\”。/entrypoint.sh \”:stat ./entrypoint.sh:无此类文件或目录” :未知
错误:compose.cli.main.main:启动项目时遇到错误。
请帮我
谢谢
我已根据建议对此配置进行了更改,但没有任何更改。我一直坚持下去:
docker.api.build._set_auth_headers:发送身份验证配置()
这是我的新配置
泊坞窗撰写
version: '3.7'
services:
web:
command: gunicorn --bind 0.0.0.0:8000 app.wsgi
entrypoint: ./entrypoint.sh
expose:
- "80"
nginx:
image: nginx:1.15.5
restart: always
ports:
- "80:80"
volumes:
- ./static:/static
depends_on:
- web
我的prd.yml文件
version: '3.7'
services:
web:
build:
context: .
dockerfile: ./envs/prd/Dockerfile
nginx:
volumes:
- ./envs/prd/nginx/nginx.conf /etc/nginx/nginx.conf
我的prd dockerfile
FROM python:3.5.2
ENV PYTHONUNBUFFERED 1
WORKDIR /
ADD requirements.txt .
RUN pip install -r requirements.txt
ADD app/ ./app
ADD static/ ./static
ADD envs/prd/settings.py /app/settings.py
ADD entrypoint.sh .
我的.dockerignore
.DS_Store
.dockerignore
.git/
.gitignore
README.rst
README.md
*.pyc
__pycache__
.idea/*
答案 0 :(得分:0)
从docker-compose中删除卷声明,并在构建阶段(在Dockerfile中)复制所有相关文件。例如,在您的web
服务中,删除volumes: .:/code
并将COPY * /code
添加到其Dockerfile中。