docker容器内文件的Golang路径

docker容器内文件的Golang路径,docker,go,Docker,Go,我有一个.pem文件,当我的应用程序没有在docker内部运行时,使用filepath.Abs可以毫无问题地访问该文件。当应用程序在docker内部运行时,golang再也找不到该文件 在docker容器中运行golang时,如何访问该文件 谢谢您应该使用卷在主机和容器之间共享pem文件,例如: docker run -v /path/to/my/file.pem:/app/file.pem <your_image> Docker容器中的应用程序将能够访问位于/app/文件夹中的f

我有一个.pem文件,当我的应用程序没有在docker内部运行时,使用filepath.Abs可以毫无问题地访问该文件。当应用程序在docker内部运行时,golang再也找不到该文件

在docker容器中运行golang时,如何访问该文件


谢谢

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

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

Docker容器中的应用程序将能够访问位于/app/文件夹中的file.pem文件。

您应该在Docker文件中设置workdir

或者,例如,按照以下示例编写Dockerfile:

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"]

在docker_entrypoint.sh中,您可以准备代码、复制或创建文件并启动project exec运行服务器。转到

您的代码是什么样子?如何将pem文件放入Docker映像?如果您在容器内运行一个外壳并手动检查它,它是否在您期望的位置?
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"]