兰空图床迁移
源服务器端
迁移容器
标记并上传容器
-
登录到Docker Hub: 如果还没有Docker Hub帐户,在Docker Hub上创建一个。然后,使用以下命令登录到Docker Hub:
docker login输入Docker Hub用户名和密码。
-
重新标记镜像: 需要为镜像重新标记以包括你的Docker Hub用户名或组织名称。使用以下命令:
docker tag your-image-name:tag your-dockerhub-username/your-image-name:tag将
your-image-name:tag替换为你之前创建的镜像名称和标签,将your-dockerhub-username替换为你的Docker Hub用户名。 -
上传镜像: 使用以下命令将标记的镜像上传到Docker Hub:
docker push your-dockerhub-username/your-image-name:tag这会将镜像上传到你的Docker Hub帐户中。请确保您已登录到正确的帐户。
-
验证镜像: 登录到Docker Hub网站,导航到你的帐户,你应该能够在那里看到刚刚上传的镜像。
现在,你的Docker镜像已经上传到Docker Hub。其他用户可以使用以下命令来从Docker Hub拉取你的镜像:
docker pull your-dockerhub-username/your-image-name:tag
确保将 your-dockerhub-username/your-image-name:tag 替换为您实际的镜像名称和标签。
产看容器数据挂载目录并迁移数据
使用命令
docker inspect <containerId> > config.json
查看容器消息,会输出到当前文件夹下的config.json 里面。查看config.json后找到如下结构

其中
-
Source: “/root/lsky/web” 是主机上的路径。
-
Destination: “/var/www/html” 是容器内的路径。
即容器内的
/var/www/html挂载到了服务器上的/root/lsky/web目录上,此时找到此目录并将其打包下载至目标服务器中
目标服务器端
拉取并创建docker容器
目标服务器创建和源服务器一样的挂载目录,将源服务器目录的文件移入新建的目录。目标服务器将上传至DockerHub的镜像拉取下来后运行。运行时挂载目录为

参考我的,运行命令可以为
docker run -d \
--name lsky-pro \
--restart unless-stopped \
-p 8089:8089 \
-v $PWD/lsky/web:/var/www/html \ ##绑定运行目录
-e WEB_PORT=8089 \
halcyonazure/lsky-pro-docker:latest
根据自己情况进行修改。
还原原服务数据库数据
使用navicat等工具新建一个数据库,执行sql脚本,得到如下数据库。

进入下载下来的容器挂载目录文件,删除install.lock文件。此时进入目标服务器的兰空图床网页会自动触发安装程序,正常安装完成后再执行一遍数据库脚本还原成功数据库即可。还原成功后进入数据库修改
修改configs字段下的数据。将其中的url改为目标服务器的url。
此时所有文件可正常访问。