【发布时间】:2022-03-09 00:13:27
【问题描述】:
我找到了this,但它对我不起作用。
我的(真的)简单的docker-compose.yml:
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
开始:
docker-compose up
对容器进行了一些更改(在 wordpress 上安装插件和主题)。
docker-compose stop
docker commit main_mysql_1 test-mysql
docker commit main_wordpress_1 test-wordpress
docker save test-mysql > test-mysql.tar
docker save test-wordpress > test-wordpress.tar
将这两个 tar 文件保存在另一台机器上并加载它们:
docker load -i ./test-mysql.tar
docker load -i ./test-wordpress.tar
现在将docker-compose.yml 更改为:
version: '3.1'
services:
wordpress:
image: test-wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_PASSWORD: example
mysql:
image: test-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
但启动的容器是从头开始的 wordpress。所做的任何工作(插件、主题等)都没有保留。
我的错误是什么?我不想将在线存储库用于这些私人目的。您能否建议一个更简单、更强大的程序来在两台主机之间传递容器?
使用卷的解决方法:
version: '3.1'
services:
wordpress:
container_name: GREB_wordpress
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_PASSWORD: example
volumes:
- ./www:/var/www/html
mysql:
container_name: GREB_mysql
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
volumes:
- ./mysql_data:/var/lib/mysql
【问题讨论】:
标签: docker docker-compose