docker bookstack 迁移

bookstack 迁移
第一步:# docker ps |grep bookstack 查找bookstack启动的容器
docker  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* 命令查找卷标
docker  bookstack 迁移

B. 通过 docker inspect docker-bookstack_mysql_1 命令进入容器挂载volume位置。
docker  bookstack 迁移

进入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

相关推荐