如何在docker中挂载.pgpass文件?

时间:2018-03-01 22:30:41

标签: amazon-web-services docker dockerfile amazon-redshift

我的项目中有test_main_file.py和dockerfile。 test_main_file.py

中有一行
redshift= open(os.environ['Home'] + '/.pgpass','r').readline()

这只是红移数据库信息。

现在我在docker中运行.py文件,但是我收到了以下错误:

redshift = open(os.environ['HOME'] + '/.pgpass', 'r').readline() 
              IsADirectoryError: [Errno 21] Is a directory: '/root/.pgpass'

我的docker命令是:

docker run --volume ~/.aws:/root/.aws --volume ~/Users/mmarvania/.pgpass:/root/.pgpass docker5

仅供参考:我的.pgpass文件位于我的mac中的/Users/mmarvania/目录中。

1 个答案:

答案 0 :(得分:1)

如果是文件,请将包含.pgpass文件的文件夹映射到容器内的文件夹。然后访问该文件夹中的文件。 docker run --volume~ / .aws:/root/.aws --volume~ / Users / mmarvania:/ root / config docker5访问文件如下:redshift = open(os.environ [' HOME&# 39;] +' /config/.pgpass',' r')。readline()