首页 文章

使用docker build构建图像,但stat / GO / src / main:没有遇到docker-compose这样的文件或目录

提问于
浏览
0

我有一个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 回答

  • 0

    我已经升级到最新版本的Docker CE(18.03.1-ce,build 9ee9f40),这似乎解决了这个问题 .

相关问题