我为我的NodeJS应用程序创build了一个docker容器。 我将所有服务器特定的信息存储在一个config.ini文件中,我打算在运行docker容器时进行装载。 我使用以下命令来运行:
docker run -p 8081:8081 --name my-app -v config:/usr/src/app/config -d image_name
configuration文件夹有4个文件,其中1个文件的扩展名是ini 。 当我login容器(使用docker exec)时, config.ini文件从挂载目录中丢失。 所有其他文件都存在。 当我将config.ini的扩展名更改为config.json (或其他)时,docker装载该文件。 所以.ini扩展名有一些问题。 以下是环境详情:
Mac OS 10.12.5
Docker版本1.12.6,build 78d1802
configuration文件夹中的文件权限:
-rwxrwxrwx @ 1 tarun工作人员133五月1 2016 awsConfig.json
-rwxrwxrwx @ 1 tarun工作人员133五月1 2016 awsConfig.json.sample
-rwxrwxrwx @ 1 tarun职员368 Jul 1 2016 config.ini.sample
-rwxrwxrwx @ 1 tarun staff 535 Jun 13 12:02 project_config.ini
是否有我缺less的docker房产?
你的configuration目录被引用错误。 你应该像这样:
docker run -p 8081:8081 --name my-app -v $(pwd)/config:/usr/src/app/config -d image_name
这确保它具有完整的目录path。 另外我假设这个目录是在你当前的工作目录中,因此$(pwd)
如果这解决了您的问题,请将此答案标记为已接受。 谢谢