恢复Docker MySQL数据库



我刚接触Docker,正在学习它。我使用MySQL的Docker容器,我已经创建了两个数据库与填充表。

我已经将图像推送到Docker Hub,所以我可以在另一个设备上使用它,但是我已经尝试了几次,每当我拉我的MySQL存储库并运行它时,我都看不到我的任何数据库。我想我做错了。

Mysql database from pull image

我如何将MySQL映像及其两个数据库以正确的方式推送到Docker Hub ?

与其将数据库包含在图像中,不如在图像中使用SQL脚本创建数据库并向其填充初始数据。

如果你把。sh,。sql或。sql.gz结尾的文件放在/docker-entrypoint-initdb. gz目录下。

如果你有一个SQL脚本来初始化你的数据库,你可以把它包含在一个像这样的Dockerfile中

FROM mysql:latest
COPY initialize-database.sql /docker-entrypoint-initdb.d/

然后你可以运行容器并将/var/lib/mysql映射到一个docker卷,该卷将像这样存储数据库

docker run --rm -e MYSQL_ROOT_PASSWORD=password -v mysql:/var/lib/mysql <my-image-name>

最新更新