Docker容器迁移新服务器

容器保存为镜像

使用docker commit 命令。将运行的容器提交为镜像
其中
-a指定作者信息
-m 添加注释信息

docker commit -a "wuzw" -m "QP" ff90ca6713a3  nextcloud:v1
docker commit -a "wuzw" -m "QP" f7bc19b43fe5     mysql:nextcloud
docker commit -a "wuzw" -m "QP"  785209b3cd31 elasticsearch:nextcloud
docker commit -a "wuzw" -m "QP"  6473e4ef0e22 onlyoffice:nextcloud

容器打包

使用docker save 命令。将上一步生成好的镜像导出为tar包,用于导入新的环境运行。

docker save nextcloud:Teld > nextcloud_save.tar
docker save mysql:nextcloud > mysql_save.tar
docker save elasticsearch:nextcloud > elasticsearch_save.tar
docker save onlyoffice:nextcloud > onlyoffice_save.tar

备份容器数据

通过docker inspect 命令。查看容器运行时的参数
包括端口、目录映射、参数调解等
将容器数据打包,然后放入新服务器同样的位置

新环境安装docker环境

docker版本安装相同版本的,原有docker环境版本可以通过docker version 命令来查看。

# 添加yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
# 更新数据源
yum update
 
# 列出数据源
yum list docker-ce --showduplicates|sort -r
 
yum list docker-ce-cli --showduplicates|sort -r
 
 
yum install -y docker-ce-20.10.2 docker-ce-cli-20.10.2 containerd.io
 
systemctl start docker && systemctl enable docker

新环境加载镜像

将导出的tar包放入新的服务器进行加载。


docker load -i nextcloud_save.tar
docker load -i mysql_save.tar
docker load -i elasticsearch_save.tar
docker load -i onlyoffice_save.tar

还原应用数据

将打包的数据还原到相同的目录。
可以用cp -a 的参数保持原有的属性,防止出现权限问题。

启动容器

docker run -d --restart=always -p 888:80 -v /mnt/nextcloud:/var/www/html --link mysql:nextcloud --name nextcloud  nextcloud:v1
 
 
docker run -i -t -d -p 1888:80 --restart=always --name onlyoffice  --link nextcloud:v1 -v /root/onlyoffice/log:/var/log/onlyoffice   -v /root/onlyoffice/data:/var/www/onlyoffice/Da
ta   -v /root/onlyoffice/lib:/var/lib/onlyoffice  -v /root/onlyoffice/db:/var/lib/postgresql  onlyoffice:nextcloud
 
 
docker run -d  -p 3333:3306 -v /usr/mydata/mysql/conf:/etc/mysql/conf.d -v /usr/mydata/mysql/log:/var/log/mysql -v /usr/mydata/mysql/data:/var/lib/mysql --name my
sql mysql:nextcloud
 
 
docker run -d -p 9999:9200 -p 8888:9300 -e ES_JAVA_POTS="-Xms128m -Xmx128m" -e "discovery.type=single-node" --name elastic_search elasticsearch:nextcloud

修改容器配置

如果容器里边有配置过IP地址等信息,需要修改这些信息进行重启。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
迁移Docker容器的方法有多种,其中最常用的方法是通过迁移关联的镜像。首先,您可以使用docker commit命令将需要迁移容器保存为Docker镜像。命令格式为docker commit container-id image-name。这样,您就可以将该镜像迁移到另一台服务器上。 另一种方法是使用docker export命令将容器导出为一个文件,并使用gzip进行压缩。命令格式为docker export container-name | gzip > container-name.gz。然后,您可以将压缩的文件传输到目标服务器,并使用docker import命令将其导入为一个Docker镜像。这种方法适用于不需要保留容器的运行状态的情况。 无论您选择哪种方法,都需要确保目标服务器上已经安装Docker,并且与源服务器具备相同的环境和依赖项。此外,还应该注意迁移过程中可能涉及到的网络配置和存储卷的迁移。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker容器迁移](https://blog.csdn.net/li_peng_yuan/article/details/128049001)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker容器迁移到其他服务器的5种方法](https://blog.csdn.net/NewTyun/article/details/114986120)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Energet!c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值