有没有办法在 docker 中仅对单个文件使用绑定挂载
Is there a way to use bind mount, in docker, for a single file only
我正在尝试 运行 一个带有绑定挂载的简单 docker 容器,因此应用程序可以读取和修改 data.json
文件(从主机)。我将 data.json
放在 /home/usr/project
和 运行 容器中
docker container run -it -v /home/usr/project:/app container_name main.exe
项目包含 3 个文件,其余 2 个文件包含在 container build
中。当我尝试 运行 容器时,它给出了关于找不到其他 2 个文件的错误。将这些文件放在本地主机上的 /home/usr/project
中可以解决问题。因为,我希望容器只查找 data.json
,有什么办法可以做到这一点,而不必将其他 2 个文件不必要地保留在绑定安装目录中
您可以在 docker
中映射单个文件
docker run -it -v /home/usr/project/data.json:/app/data.json alpine cat /app/data.json
您甚至可以将它们设为只读在容器内以避免不必要的修改
docker run -it -v /home/usr/project/data.json:/app/data.json:ro alpine cat /app/data.json
我正在尝试 运行 一个带有绑定挂载的简单 docker 容器,因此应用程序可以读取和修改 data.json
文件(从主机)。我将 data.json
放在 /home/usr/project
和 运行 容器中
docker container run -it -v /home/usr/project:/app container_name main.exe
项目包含 3 个文件,其余 2 个文件包含在 container build
中。当我尝试 运行 容器时,它给出了关于找不到其他 2 个文件的错误。将这些文件放在本地主机上的 /home/usr/project
中可以解决问题。因为,我希望容器只查找 data.json
,有什么办法可以做到这一点,而不必将其他 2 个文件不必要地保留在绑定安装目录中
您可以在 docker
中映射单个文件docker run -it -v /home/usr/project/data.json:/app/data.json alpine cat /app/data.json
您甚至可以将它们设为只读在容器内以避免不必要的修改
docker run -it -v /home/usr/project/data.json:/app/data.json:ro alpine cat /app/data.json