我对Docker很陌生,在阅读了数据量之后,我仍然对我所看到的行为感到困惑。
在我的撰写文件中,我有一个像mysql这样的条目:
db:
image: mysql
restart: always
volumes:
- ./database:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: p4ssw0rd!
networks:
- back
这将/ database目录映射到/var/lib/mysql
。创建的数据库文件,我可以启动Wordpress,安装,添加帖子。这个问题因为它从未持久存在任何创建的数据。如果我重新启动Docker并执行:
docker-compose up -d
数据库是空的。
将此更改为:
db:
image: mysql
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: p4ssw0rd!
networks:
- back
并添加如下的卷:
volumes:
db_data:
现在将数据保留在Docker数据卷中并重新启动工作。上次运行期间创建的任何数据仍然存在。
如何使用主机映射目录使其工作?
我是否正确地认为使用卷的第二个例子是要走的路?
答案 0 :(得分:0)
Windows上的Docker卷的工作方式与Linux不同。基本上在Windows上,docker运行VM,并且在VM内部设置docker。所以在你看来,你在Windows上本地运行docker命令,但实际的东西发生在VM的后台。
RichCoFlatMap
首先,您需要在泊坞窗设置中共享D:您可以找到详细的文章来解释这样做的步骤
https://rominirani.com/docker-on-windows-mounting-host-directories-d96f3f056a2c