Docker撰写work_dir问题

我正在尝试使用docker-compose运行golang应用程序,以下是我的撰写配置。


version: '2'

services:


    #Application container

    go:

        image: golang:1.8-alpine

        ports:

            - "80:8080"

        links:

            - mongodb

        environment:

            DEBUG: 'true'

            PORT: '8080'

        working_dir: /go/src/simple-golang-app

        command: go run main.go

        volumes:

            - ./simple-golang-app:/go/src/simple-golang-app


    mongodb:

        image: mvertes/alpine-mongo:3.2.3

        restart: unless-stopped

        ports:

            - "27017:27017"

使用命令“ docker-compose up”运行compose时,出现错误“ stat main.go:没有这样的文件或目录”,即使main.go在工作目录中也可用。


ibeautiful
浏览 332回答 1
1回答

子衿沉夜

当您的主机目录布局是oxo@thor ~/Dropbox/Documents/code/docker/golang_working_dir $ find .../docker-compose.yaml./simple-golang-app./simple-golang-app/main.go所以我们在这里cd ~/Dropbox/Documents/code/docker/golang_working_dirdocker-compose up对于涉及依赖关系的更复杂的构建,我使用了Dockerfile:FROM golang:1.8-alpineRUN mkdir -p /go/src/simple-golang-app/COPY simple-golang-app/main.go   /go/src/simple-golang-appWORKDIR  /go/src/simple-golang-appRUN apk add --no-cache git mercurial && go get -v -t ./...  && apk del git mercurialRUN go install ./...RUN go build ENV PORT 9000现在更新您的docker-compose.yaml以使用此新图像:老的image: golang:1.8-alpine新的image: nirmal_golang_alpine:latest所以你的命令是docker build --tag nirmal_golang_alpinedocker-compose up
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go