为了账号安全,请及时绑定邮箱和手机立即绑定

Docker撰写work_dir问题

Docker撰写work_dir问题

Go
ibeautiful 2021-04-10 18:15:41
我正在尝试使用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在工作目录中也可用。
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

当您的主机目录布局是


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_dir

docker-compose up

对于涉及依赖关系的更复杂的构建,我使用了Dockerfile:


FROM golang:1.8-alpine


RUN mkdir -p /go/src/simple-golang-app/

COPY simple-golang-app/main.go   /go/src/simple-golang-app

WORKDIR  /go/src/simple-golang-app

RUN apk add --no-cache git mercurial && go get -v -t ./...  && apk del git mercurial

RUN 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_alpine


docker-compose up


查看完整回答
反对 回复 2021-04-19
  • 1 回答
  • 0 关注
  • 291 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信