当我从官方Docker Hub存储库中提供Golang应用程序时,我想知道应用程序启动的默认工作目录是什么?
背景:我必须将本地证书颁发机构和服务器密钥映射到容器中以提供TLS https,我想知道将它们映射到应用程序的位置将能够从容器内的应用程序的当前工作目录中获取它们?
答案 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。