我为我的 NodeJS 应用创建了一个 docker 容器。我将所有服务器特定信息存储在配置文件文件,我计划在运行docker容器时挂载该文件。我使用以下命令来运行:
docker run -p 8081:8081 --name my-app -v config:/usr/src/app/config -d image_name
config 文件夹有 4 个文件,其中 1 个文件的扩展名是配置文件当我登录容器(使用docker exec)时,配置文件挂载目录中缺少文件。所有其他文件都存在。当我更改配置文件到配置.json(或其他任何内容),此时,docker 会挂载该文件。因此 .ini 扩展名存在一些问题。以下是环境详细信息:
Mac OS 10.12.5
Docker 版本 1.12.6,内部版本 78d1802
配置文件夹中的文件权限:
-rwxrwxrwx@ 1 tarun 员工 133 2016 年 5 月 1 日 awsConfig.json
-rwxrwxrwx@ 1 tarun 员工 133 2016 年 5 月 1 日 awsConfig.json.sample
-rwxrwxrwx@ 1 tarun 员工 368 2016 年 7 月 1 日 config.ini.sample
-rwxrwxrwx@ 1 tarun 员工 535 6月 13 12:02 project_config.ini
我是否遗漏了某个 docker 属性?
答案1
您的配置目录引用错误。您应该像这样:
docker run -p 8081:8081 --name my-app -v $(pwd)/config:/usr/src/app/config -d image_name
这确保它具有目录的完整路径。此外,我假设此目录位于您当前的工作目录中,因此$(pwd)
如果这解决了您的问题,请将此答案标记为已接受。谢谢