【问题标题】:Migrating A Docker Volume to Podman将 Docker 卷迁移到 Podman
【发布时间】:2020-08-13 06:26:00
【问题描述】:

我曾经有一个 mariadb 的 Docker 卷,其中包含我的数据库。作为从 Docker 迁移到 Podman 的一部分,我也在尝试迁移 db 卷。我尝试的方法如下:

1- 将命名的 docker 卷 (/var/lib/docker/volumes/mydb_vol) 的内容复制到我想用于 Podman 卷的新目录 (/opt/volumes/mydb_vol) 2- 运行 Podman 运行:

podman run --name mariadb-service -v /opt/volumes/mydb_vol:/var/lib/mysql/data:Z -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=mysecret -e MYSQL_DATABASE=wordpress --net host mariadb

这会成功创建一个容器并使用给定的环境变量初始化数据库。问题是容器中的数据库是空的!我尝试将主机安装卷更改为 /opt/volumes/mydb_vol/_data 并将容器卷同时更改为 /var/lib/mysql ,一次一个。他们都没有工作。

事实上,当我在结果容器中“podman execute -t​​i container_digest bash”时,我可以看到表已经成功挂载到指定的容器目录中,但是mysql shell说数据库是空的!

知道如何将 Docker 卷正确迁移到 Podman 吗?这甚至可能吗?

【问题讨论】:

  • 只是一个疯狂的猜测:使用 /var/lib/mysql 而不是 /var/lib/mysql/data 。至少hub.docker.com/_/mariadb 的示例是使用 /var/lib/mysql

标签: docker docker-volume podman


【解决方案1】:

我通过不将目录视为 docker 卷来解决它,而是将其挂载到容器中:

podman run --name mariadb-service --mount type=bind,source=/opt/volumes/mydb_vol/data,destination=/var/lib/mysql -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=mysecret -e MYSQL_DATABASE=wordpress mariadb

【讨论】:

    猜你喜欢
    • 2021-05-18
    • 2022-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    相关资源
    最近更新 更多