如何使用Docker compose从Docker容器访问主机上的sqlite文件?
我有如何使用Docker compose从Docker容器访问主机上的sqlite文件?,sqlite,docker,docker-compose,Sqlite,Docker,Docker Compose,我有 使用Docker compose在Docker中运行的Flask服务器 sqlite文件存储在主机上 我想使用sqlite文件的最新更改从docker映像访问sqlite文件。如果主机上有该文件,您只需使用-v选项将该文件装载到容器中即可。 容器对文件执行的更改将在主机上可见 快速概念验证: . ├── docker-compose.yml └── the-file docker-compose.yml文件: version: '3' services: the-flask:
- 使用Docker compose在Docker中运行的Flask服务器
- sqlite文件存储在主机上
我想使用sqlite文件的最新更改从docker映像访问sqlite文件。如果主机上有该文件,您只需使用
-v
选项将该文件装载到容器中即可。
容器对文件执行的更改将在主机上可见
快速概念验证:
.
├── docker-compose.yml
└── the-file
docker-compose.yml文件:
version: '3'
services:
the-flask:
image: python
volumes:
- ${PWD}/the-file:/mnt/the-file
command: tail -f /dev/null
组合,获取容器ID,然后将容器中的一些文本附加到从主机装载的文件中:
docker-compose up -d
docker exec <container-id> sh -c 'echo "Contend added from container" >> /mnt/the-file'
cat the-file
Initial content
Contend added from container
不确定docker-compose.yml的外观。但是您可以通过装入卷来实现目标更正我的错误,我认为在创建映像时,按卷装入可以为您提供文件的“快照”,但不是最新版本。它将与您的本地DB文件持续同步