我正在使用tomsik68/xampp dockerLinux 服务器上的图像。
当我重启服务器或删除容器(通过 docker rm myXampp)时,所有数据库更改都会丢失。如何将数据库更改保存到服务器?
这是 docker 镜像中的数据库位置:
"/opt/lampp/var/mysql"
我使用以下代码运行了容器:
docker run --name myXampp -p 3999:22 -p 4000:80 -d -v ~/myWebPages:/opt/lampp/htdocs tomsik68/xampp
我希望所有数据库更改都保存到服务器。谢谢大家!
答案1
假设“保存到服务器”的意思是将数据库内容保留在后续容器运行中,那么你必须创建 Docker 卷您的数据将被存储于其中。
与将网页挂载到目录的方式类似htdocs
,您可以:
- 选择本地计算机上的任意数据库目录,或者
- 让 Docker 为您创建一个命名卷(例如
xamppdb
)。
例如:
docker run --name myXampp \
-p 3999:22 -p 4000:80 -d \
-v ~/myWebPages:/opt/lampp/htdocs \
-v xamppdb:/opt/lampp/var/mysql \
tomsik68/xampp
这假定/opt/lampp/var/mysql
内容应该被保留下来。