docker bookstack 迁移
第一步:# docker ps |grep bookstack 查找bookstack启动的容器
第二步:打标签构建镜像
docker commit docker-bookstack_mysql_1 docker.io/mysql #相互依赖的数据库容器镜像
docker commit docker-bookstack_bookstack_1 bookstack #bookstack镜像
第三步,保存镜像
docker save docker.io/mysql >/tmp/docker.io/mysql.tar #保存mysql镜像
docker save bookstack >/tmp/bookstack.tar #保存bookstack
第四步,查找volume目录
A. 通过docker volume ls |grep book* 命令查找卷标
B. 通过 docker inspect docker-bookstack_mysql_1 命令进入容器挂载volume位置。
进入cd /var/lib/docker/volumes/ 目录中,对bookstack目录行打包
tar zcvf bootst.tar.gz /var/lib/docker/volumes/*
完成上述步骤,然后把mysql.tar,bookstack.tar, bootst.tar.gz拷贝到新有服务器上,进行镜像导入及文件解压
第五步,导入镜像和解压数据
docker load -i mysql.tar #导入mysql镜像
docker load -i bookstack.tar # 导入bookstack镜像
第六步,解压数据文件boot.tar.gz 目录自己设置。我放在/bantdata/bookstack
tar xf volumes.tar.gz
第七步,修改boot.yml文件
[ bookstack]# cat book.yml
version: ‘2‘ services: mysql: image: mysql:5.7.30 #修改为自己导入镜像名 environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=bookstack - MYSQL_USER=bookstack - MYSQL_PASSWORD=secret volumes: - /bantdata/bookstack/volumes/docker-bookstack_mysql-data/_data:/var/lib/mysql #数据文件位置 - /bantdata/bookstack/volumes/bookstack_mysql-data/_data:/etc/mysql/conf.d #数据库配置文件 bookstack: image: bookstack:latest #修改为自己导入镜像名 depends_on: - mysql environment: - DB_HOST=mysql:3306 - DB_DATABASE=bookstack - DB_USERNAME=bookstack - DB_PASSWORD=secret volumes: - /bantdata/bookstack/volumes/docker-bookstack_uploads/_data:/var/www/bookstack/public/uploads #bookstackupload文件目录 - /bantdata/bookstack/volumes/docker-bookstack_storage-uploads/_data:/var/www/bookstack/storage/uploads #bookstack的storage文件 ports: - "8088:8080" #暴露端口,根据自己主机设置
最后一步: docker-compose启动
docker-compose -f book.yml up #启动容器 检查有无报错,然后在重新启动加上 -d