如何将docker部署的wekan迁移另一台服务器

前言

对于这个问题,我首先是查阅wekan的Wiki,果然在Wiki上找到了Move Docker containers to other computer,但是写的不够详细,只是给出了docker官方文档的export和import文档的链接,只有下图OLD INFO后面的内容。

经过自己一番摸索,没能搞定,于是给wekan提了个issueHow to move wekan to other computer by docker? #3758😂,在wekan作者xet7的帮助下解决了这个问题。

同时xet7大佬也补全了Move Docker containers to other computer的文档,于是就有了OLD INFO上面的内容。
在这里插入图片描述

解决过程

自己尝试

一开始于是我按照docke import和export的官方文档和搜索的相关文章进行操作的,还是不行,操作步骤如下:

Here’s how I do it:

  1. Connect to server A
  2. docker export wekan-app > wekan-app.tar
  3. docker export wekan-db > wekan-db.tar
  4. Connect to server B
  5. docker import - wekanteam/wekan < wekan-app.tar
  6. docker import - mongo < wekan-db.tar
  7. git clone https://github.com/wekan/wekan
  8. vim docker-compose.yml
  9. Modify wekan image to wekanteam/wekan and wekandb image to mongo
  10. docker-compose up -d Error is as follows:
wekan-app ... error

ERROR: for wekan-app  Cannot create container for service wekan: No
command specified

ERROR: for wekan  Cannot create container for service wekan: No
command specified ERROR: Encountered errors while bringing up the
project. ```

提issue

实在解决不了,而且本身Move Docker containers to other computer写得不够详细,于是给wekan提了个issueHow to move wekan to other computer by docker? #3758

wekan的作者xet7大佬回答非常迅速,我提问9分钟就给我答复了。
我按照他的说的进行了操作,还是不行,于此同时我通过5 ways to move Docker container to another host
也了解到:
export和import容器工具的一个缺点是,它不导出容器的端口和变量,也不导出包含容器的底层数据。
当尝试在另一台服务器中加载容器时,这可能会导致错误。在这种情况下,我们选择Docker镜像迁移来将容器从一台服务器迁移到另一台服务器。
也就是5 ways中的第二种方法。

镜像迁移主要用到docker的commit、save、load这几个命令,我按照尝试后依旧报同样的错误。

wekan作者补全docker迁移wekan的文档

我看了下5 ways to move Docker container to another host
的第四种方法,因涉及到数据卷,在不是很熟悉wekan的情况下,我没有尝试,。
正当我准备尝试的第五种方法(5. Move entire Docker containers)时,xet7大佬又回复了我😄。

他补全Move Docker containers to other computer的内容,该内容正是我要尝试的第五种方法 ,而且写得很详细。
于是我按照他写的步骤操作了一篇,果然成功了。
在这里插入图片描述

该方法是将所有容器迁移到另一台服务器,它是将整个docker目录/var/lib/docker拷贝另一台服务器,因此该方法需要注意:

  • 保留文件夹的权限和所有权。
  • 迁移前停止Docker服务。
  • 验证两台服务器中的Docker版本是否兼容。
  • 迁移前后验证容器列表和功能。
  • 环境变量和其他配置文件的路径。

由于该方法是将旧服务器的docker所有容器替换到新服务器,因此新服务器的容器会被替换掉,因此操作前,需要备份新服务器上原有的/var/lib/docker目录。
所以如果新服务器上的docker有用于生产环境的容器,最好不要使用此方法。

如果你会更方便的方法,欢迎留言!

支持🤟


  • 🎸 [关注❤️我吧],我会持续更新的。
  • 🎸 [点个👍赞吧],码字不易麻烦了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在docker部署Wekan,您需要按照以下步骤进行操作: 1. 首先,安装Docker Compose。您可以使用以下命令来安装Compose:\[1\] ``` curl -L https://github.com/docker/compose/releases/download/1.10.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose ``` 2. 确保您已经安装了Docker。您可以使用以下命令来检查Docker的安装情况:\[2\] ``` yum list installed | grep docker ``` 3. 如果您已经安装了Docker,请先卸载旧版本的Docker。您可以使用以下命令来卸载Docker:\[3\] ``` yum remove -y docker.x86_64 2:1.13.1-96.gitb2f74b2.el7.centos yum remove -y docker-client.x86_64 2:1.13.1-96.gitb2f74b2.el7.centos yum remove -y docker-common.x86_64 2:1.13.1-96.gitb2f74b2.el7.centos rm -rf /var/lib/docker rm -rf /etc/docker ``` 4. 安装最新版本的Docker。您可以使用以下命令来安装Docker: ``` yum install -y docker ``` 5. 启动Docker服务: ``` systemctl start docker ``` 6. 现在,您可以使用Docker Compose来部署Wekan。您需要创建一个docker-compose.yml文件,并在其中定义Wekan的配置。然后,使用以下命令来启动Wekan容器: ``` docker-compose up -d ``` 这将启动Wekan容器,并将其作为后台服务运行。 请注意,这只是一个简单的示例,您可能需要根据您的具体需求进行更多的配置和调整。 #### 引用[.reference_title] - *1* *2* *3* [开源看板 wekan docker-compose部署](https://blog.csdn.net/yanxilou/article/details/99578670)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值