是否有任何包含wordpress和mysql数据的图像? 当我提交并备份映像时,不包含mysql数据。我更喜欢两张图片。 我尝试使用这个Dockerfile创建这样的图像:
FROM tutum/lamp:latest
RUN rm -fr /app && git clone https://github.com/WordPress/WordPress.git /app
EXPOSE 80
CMD ["/run.sh"]
我可以使用像这样的命令启动全新安装......
docker run -p 88:80 shantanuo/wp
但是容器不能移动到另一台服务器"按原样#34;。我需要使用 mysql-dump 命令进行数据备份,这是我试图避免的。有可能吗?
如果我没有对容器进行管理,那么我就可以将wordpress图像与其数据一起复制。
https://hub.docker.com/r/shantanuo/lamp/~/dockerfile/
但它在新服务器上不起作用。添加wordpress标签。
答案 0 :(得分:1)
是否有任何可用的图像包含wordpress和mysql数据?
简答:不推荐。
图像通常处理一个服务(因此这里将涉及两个图像:wordpress和MySQL)
持久性数据不会出现在图像中,而是出现在 volume / bind mount 中的主机上。
例如,tutumcloud/lamp
image确实声明 volumes :
# Add volumes for MySQL
VOLUME ["/etc/mysql", "/var/lib/mysql" ]
docker run
命令使用基本映像中指定位置存在的任何数据初始化新创建的卷。
制作自己的图像,不用这些行可能会按预期工作(即使用提交容器)。
但是如果服务器在任何时候重新启动,或者你必须让docker再次运行你的原始容器,那么它将重新开始,没有数据。
典型的docker wordpress图片会使用mysql one
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_PASSWORD: example
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
反过来,mysql容器将使用本地主机安装的卷来持久化数据库。
docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
例如,请参阅“Quickstart: Compose and WordPress”
因此,您不仅应该提交Wordpress图像,还要提交您的Mysql图像,和您的音量。
但是,不支持提交卷:请参阅“Commit content of mounted volumes as well”以使用其中的WordPress数据库备份该卷。
使用这三个备份,然后将它们迁移到其他服务器。
然而,这看起来过于复杂,第二台服务器上新的WordPress / MySQL docker项目更容易启动。
然后,您需要,是的,您的数据库转储文件
和其他一些Wordpress文件夹(如主题)
请参阅“Easy WordPress Migration with Docker” 这是尝试从一个服务器提交现有容器并将它们“移植”到另一个服务器上的推荐方法。
答案 1 :(得分:0)
如果要将workig数据集导出到另一台服务器,则docker具有commit
命令。此命令从正在运行的容器中创建新图像。
$ docker commit c3f279d17e0a svendowideit/testimage:version3