我有一个Dockerfile,我可以成功构建一个图像:
FROM iron/go:dev
RUN mkdir /app
COPY src/main/main.go /app/.
# Set an env var that matches your github repo name, replace treeder/dockergo here with your repo name
ENV SRC_DIR=/app
# Add the source code:
ADD . $SRC_DIR
# Build it:
RUN go get goji.io
RUN go get gopkg.in/mgo.v2
RUN cd $SRC_DIR; go build -o main
ENTRYPOINT ["/app/main"]
但是,当我尝试构建以下docker-compose.yml文件时:
version: "3.3"
services:
api:
build: ./api
expose:
- '8080'
container_name: 'api'
ports:
- "8082:8080"
depends_on:
- db
networks:
- api-net
db:
build: ./db
expose:
- '27017'
container_name: 'mongo'
ports:
- "27017:27017"
networks:
- api-net
networks:
api-net:
driver: bridge
我明白了:
删除api mongo是最新的重新创建532e3cf66460_carsupermarket_api_1 ...错误错误:for 532e3cf66460_carsupermarket_api_1无法启动服务api:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“exec:\”/ GO / src / main \“:stat / GO / src / main:没有这样的文件或目录”:unknown ERROR:for api无法启动服务api:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“exec:\”/ GO / src / main \“:stat / GO / src / main:没有这样的文件或目录”:unknown ERROR:在启动项目时遇到错误 .
我怀疑docker-compose在目录构建路径中引入了一些细微差别,但是,当我使用 docker build .
时,我不知道为什么我的图像是从docker文件构建的,但是当我尝试将其合并到泊坞窗 - 撰写 .
有人能指出我正确的方向,我做错了什么?
1 回答
我已经升级到最新版本的Docker CE(18.03.1-ce,build 9ee9f40),这似乎解决了这个问题 .