我想在docker上运行一个已经存在的应用程序。该应用程序与文件夹中的某些文件进行交互。所以我试图连接一个卷。
这是docker-compose:
test:
container_name: test
volumes:
- C:\test\:\test\
build: .
当我挂接到docker映像时,可以看到该文件夹是在根文件夹上创建的。现在,我需要在应用程序设置中写入该文件夹的正确路径。
之前是这样的:
"test": {
"Path": "C:\\test\\"
}
但是我不知道如何从docker内部获取文件夹的绝对路径,所以我的应用程序可以理解在哪里搜索它。
谢谢
编辑:看来问题出在我这边:我定义卷的方式创建了一个名为“ \ test \”的文件夹...使用C:\ test:/ test /代替了窍门>
答案 0 :(得分:1)
如果您要构建自己的Docker映像,则可以完全控制文件系统的布局。对于基于Linux的映像,通常遵循FHS标准(我认为标准的MySQL映像将其数据存储在/var/lib/mysql
中),但也足以将数据存储在根目录的子目录(/data
中)或/config
或其他)。
如果您具有这样的设置,则图像应选择一条路径。如果配置中唯一的东西就是该目录的位置,则可以将其硬编码到图像中。但是,即使您记录了图像(即使它只是标准的docker-compose.yml
文件),也提到您具有此固定路径;它不需要与任何特定系统上的主机路径(如果有)匹配。