Windows数据持久性的Docker – 主机映射与数据卷
我对Docker非常陌生,在阅读了关于数据量之后,我仍然对我所看到的行为感到困惑。
在我的撰写文件中,我有一个像这样的mysql的条目:
db: image: mysql restart: always volumes: - ./database:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: p4ssw0rd! networks: - back
这将/ database目录映射到/var/lib/mysql
。 创build的数据库文件,我可以启动Wordpress,安装,添加一个post。 这个问题,因为它从来没有坚持任何创build的数据。 如果我重新启动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数据卷中并重新启动。 在上次运行过程中创build的任何数据仍然存在。
我如何得到这个工作使用主机映射目录?
我正确地思考使用卷的第二个例子是要走的路吗?
在Windows上的Docker卷的工作方式有点不同于Linux。 基本上在Windows上,docker运行一个虚拟机,docker被安装在虚拟机内部。 所以在你看来,你在Windows上本地运行docker命令,但实际的东西发生在VM内的后台。
docker run -vd:/data:/data alpine ls /data
首先,您需要在Docker设置中分享D: 你可以find一个详细的文章解释这样做的步骤
https://rominirani.com/docker-on-windows-mounting-host-directories-d96f3f056a2c
- 在Windows上运行docker镜像的结果是“oci runtime error:exec:”bash“:可执行文件在$ PATH中找不到。
- Docker容器运行后存在,日志中没有错误
- ASP NET核心:docker-compose中的别名不会出现在/ etc / hosts中
- docker-compose – 运行两个服务来执行一个PHP脚本
- docker-compose up -d不会在docker-compose up时创build卷
- 执行到docker云?
- 是否可以从包含OS的.img文件创builddocker图像
- Docker插件可以从启动图像检查标签元数据吗?
- 设置单个CLI来与多个容器连接?