如何解决 /bin/sh: 1: source: not found during making docker image in MacOS(Golang)?
How to solve /bin/sh: 1: source: not found during making docker image in MacOS(Golang)?
几个小时前我才开始学习 docker,我正在尝试制作自己的 docker 图像。当我尝试制作 Dockerfile 和 docker 图像时,我收到此错误消息“/bin/sh: 1: source: not found”。
首先,我在 .env 文件中管理我的环境变量。每当我更改我的 env 文件时,我 运行 这个命令 $source .env 然后去构建。然后去 运行 main.go。所以,我尝试设置我的 Dockerfile,运行 source.env 但我得到了上面提到的错误。
我试过了
- 运行。 setting.env & 。设置但没有用
- 将文件名更改为 setting.env 然后 运行 。 ./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]
我试过了
- 运行 /bin/bash -c ".setting.env" / "source setting.env" : 没有那个文件或目录
您的图像中似乎没有包含 .env 文件。
将.env文件复制到镜像后尝试执行source.env。
几个小时前我才开始学习 docker,我正在尝试制作自己的 docker 图像。当我尝试制作 Dockerfile 和 docker 图像时,我收到此错误消息“/bin/sh: 1: source: not found”。
首先,我在 .env 文件中管理我的环境变量。每当我更改我的 env 文件时,我 运行 这个命令 $source .env 然后去构建。然后去 运行 main.go。所以,我尝试设置我的 Dockerfile,运行 source.env 但我得到了上面提到的错误。
我试过了
- 运行。 setting.env & 。设置但没有用
- 将文件名更改为 setting.env 然后 运行 。 ./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]
我试过了
- 运行 /bin/bash -c ".setting.env" / "source setting.env" : 没有那个文件或目录
您的图像中似乎没有包含 .env 文件。
将.env文件复制到镜像后尝试执行source.env。