docker - 在卷中,Docker 如何挂载单个文件

我以为可以将文件挂载为卷,就像我使用数据库一样。

我尝试了两种方法,使用卷和直接路径。

docker-compose:


version: '2'


services:


 app:


 build: src


 ports:


 -"8080:80"


 depends_on:


 - mysql


 volumes:


 - app-conf:/var/www/html/upload


 - app-conf:/var/www/html/config.php


 environment:


 DB_TYPE: mysql


 DB_MANAGER: MysqlManager



 mysql:


 image: mysql:5.6


 container_name: mysql


 volumes:


 - mysqldata:/var/lib/mysql


 ports:


 - 3306:3306


 environment:


 MYSQL_ROOT_PASSWORD:


 MYSQL_DATABASE:


 MYSQL_USER:


 MYSQL_PASSWORD:



volumes:


 mysqldata:


 app-conf:



这将导致错误:

我尝试使用给定的路径作为已安装的卷进行尝试。


/src/docker/myapp/upload:/var/www/html/upload


/src/docker/myapp/upload:/var/www/html/config.php



但是这两种方法都不能工作,

时间:

在docker中可以这种方式挂载文件卷(绝​​对路径示例(可以使用env变量),并且您需要提及文件名):


 volumes:


 - /src/docker/myapp/upload:/var/www/html/upload


 - /src/docker/myapp/upload/config.php:/var/www/html/config.php



你可以执行以下操作:


 volumes:


 - ${PWD}/upload:/var/www/html/upload


 - ${PWD}/upload/config.php:/var/www/html/config.php



如果从docker-compose文件夹启动/src/docker/myapp


docker run -v $(pwd)/config.py:/root/app/config.py my_docker_image



...