Docker Golang应用程序的工作目录是什么?

时间:2016-06-21 19:56:32

标签: ssl go docker https

当我从官方Docker Hub存储库中提供Golang应用程序时,我想知道应用程序启动的默认工作目录是什么?

背景:我必须将本地证书颁发机构和服务器密钥映射到容器中以提供TLS https,我想知道将它们映射到应用程序的位置将能够从容器内的应用程序的当前工作目录中获取它们?

2 个答案:

答案 0 :(得分:1)

如果您使用golang:来自DockerHub的1.X-onbuild图像将被复制到(https://hub.docker.com/_/golang/

/go/src/app

这意味着您运行

的目录中的所有文件和目录
docker build 

命令将被复制到容器中。

所有图片的工作内容都是

/go

答案 1 :(得分:0)

Go将使用

返回当前工作目录
currdir, _ = filepath.Abs(filepath.Dir(os.Args[0]))

在golang容器中执行,并在启动后立即将pwd设置为

/go/src/app

因此,在Docker容器中启动的golang应用程序的当前工作目录为/go/src/app。为了将文件/目录映射到容器,您将可以使用Documentation for run中所述的-v - 开关:

-v /local/file.pem:/go/src/app/file.pem

将本地文件映射到dockerized golang app的pwd。