Docker容器中文件的Golang路径

时间:2018-12-20 13:03:47

标签: docker go

我有一个.pem文件,当我的应用程序不在docker内部运行时,可以使用filepath.Abs进行访问。当应用程序在docker中运行时,golang不再能够找到该文件。

如何使用在docker容器中运行的golang访问文件?

谢谢

2 个答案:

答案 0 :(得分:3)

您应该使用卷在主机和容器之间共享pem文件,例如:

docker run -v /path/to/my/file.pem:/app/file.pem <your_image>

然后,Docker容器中的应用程序将能够访问file.pem文件夹中的文件/app/

答案 1 :(得分:1)

您应该在LastSaleDate = salesOfBalance .Select(sale => sale.SaleDate) .NewesDateOrDefault();

中设置工作目录
Dockerfile

例如,像这样编写您的Dockerfile:

RUN mkdir -p $GOPATH/code
WORKDIR $GOPATH/code  /your-code-directory

在docker_entrypoint.sh中,您可以准备代码,复制或创建文件并启动项目FROM golang:latest ADD . /app WORKDIR /app RUN go get -d -v ./... RUN go build -o main . RUN chmod a+x /docker_entrypoint.sh ENTRYPOINT ["/docker_entrypoint.sh"]