如何解决 /bin/sh: 1: source: not found during making

几个小时前我才刚刚开始学习 docker,我正在尝试制作自己的 docker 镜像。当我尝试制作 Dockerfile 和 docker 镜像时,我收到此错误消息“/bin/sh: 1: source: not found”。

首先,我在 .env 文件中管理我的环境变量。每当我更改我的 env 文件时,我都会运行此命令 $source .env 并 go build 。然后运行 main.go。所以,我尝试设置我的 Dockerfile,RUN source.env,但我得到了上面提到的错误。

我试过了

  • 跑 。设置环境 & 。设置但没有用

  • 将文件名更改为 setting.env 然后 RUN 。./setting.env & . ./setting & ["/bin/bash", "-c", "source ~/.setting.env"] 也不起作用...

非常感谢您的帮助!

编辑1]

FROM golang:latest


WORKDIR /go/src/todo_list

# RUN go mod init github.com/jiwanjeon/go-todolist

# RUN go get github.com/jinzhu/gorm

# RUN go get github.com/lib/pq

# RUN go get github.com/gorilla/mux

# RUN go get github.com/stretchr/testify

# RUN go get github.com/jinzhu/gorm/dialects/postgres

# source .env --> . setting.env & . setting & . ./setting.env & . ./setting & ["/bin/bash", "-c", "source ~/.setting.env"]

RUN . .env

COPY go.mod ./

COPY go.sum ./

RUN go mod download

COPY . ./


WORKDIR /go/src/todo_list/cmd/main

EXPOSE 9010

RUN go mod verify

RUN go build main.go

CMD ["./main", "-migrate"]

# RUN ./main -migrate

编辑 2]


我试过了


RUN /bin/bash -c ".setting.env" / "source setting.env" : 没有那个文件或目录


拉风的咖菲猫
浏览 393回答 1
1回答

人到中年有点甜

您的图像中似乎没有包含 .env 文件。将 .env 文件复制到图像中后,尝试执行 source .env。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go