我有一个.pem
文件,当我的应用程序不在docker内部运行时,可以使用filepath.Abs
进行访问。当应用程序在docker中运行时,golang不再能够找到该文件。
如何使用在docker容器中运行的golang访问文件?
谢谢
答案 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"]