如何将自己保存的镜像在不同服务器之间进行迁移

前言:需要有一个跳板终端(如 AC Terminal),同时熟悉scp传文件。本博客均以Acwing中运行的 Django 项目迁移为例
基础知识铺垫:

注意scp的文件传输始终就是相对于他自身的,都在本地终端进行操作,比如:
从本地—>云服务器:scp django_lesson_1_2.tar server1:
从云服务器—>本地:scp server1:django_lesson_1_2.tar .

一、在旧服务器(马上要过期了)中的操作

1、登录容器(一直工作的那个),关闭所有运行中的任务

一般是把tmux中所有启动的服务关闭

2、将容器保存成镜像,将CONTAINER_NAME替换成容器名称

docker commit CONTAINER_NAME django_lesson:1.2

3、将镜像django_lesson:1.2导出到本地文件django_lesson_1_2.tar中(就是把镜像打包成可以运输的tar文件)

docker save -o django_lesson_1_2.tar django_lesson:1.2

二、在自己的本地终端(如AC Terminal)中的操作

4、输入 logout ,退出旧服务器,回到本地终端,把旧服务器上打包好的镜像文件用scp下载到本地终端

scp   server1: django_lesson_1_2.tar  . //注意最后有一个点,表示当前文件夹

5、把下载到本地的镜像文件再传输到新服务器上

scp  django_lesson_1_2.tar  server2:  //注意没有的冒号不能落下,表示传输到哪个服务器

三、在新服务器(新买的)中的创建容器操作

前期铺垫:
(1)在新买的毛坯服务器上装上docker;
(2)开辟非根目录工作用户(acs);
(3)配置免密登录;
(4)配置新服务器的工作环境。 具体怎么做:引用 Acwing 的linux
课程的服务器配置连接:阿里云新服务器环境配置

6、将镜像加载到新服务器中的 acs 工作用户的本地

docker load -i docker_lesson_1_2.tar  

加载成功后,输入docker images 命令后的终端显示

REPOSITORY      TAG       IMAGE ID       CREATED        SIZE
django_lesson   1.2       fc9e8b64cfe4   25 hours ago   1.98GB

7、使用保存的镜像重新创建容器,同时开放一些必要的端口

docker run -p 20000:22 -p 8000:8000 -p 80:80 -p 443:443 --name CONTAINER_NAME -itd django_lesson:1.2
CONTAINER_NAME 一般命名为 -> `django_server`

注意:如原镜像的环境跟现在的一样,则8-9步可以省略

8、进入刚刚创建的docker容器,此时相当于又从新开辟了一个新服务器,只不过还需要加上新映射(20000 -> 22) 开放 的 20000 端口

docker attach docker_server  

同时设置root密码

passwd  

9、同样的,先在毛坯中配置一些基本操作,操作完成后即可在本地终端 ssh 登录到自己django项目的开发工作区中了!

(1)开辟非根目录工作用户(acs); 
(2)配置免密登录;
(3)配置新服务器的工作环境。 
具体怎么做:引用 Acwing 的linux 课程的服务器配置连接:(https://www.acwing.com/blog/content/10867/)

四、在新服务器里的新容器中重新启动(恢复)自己的项目

10、启动nginx服务

sudo /etc/init.d/nginx start

11、 启动redis-server 服务

sudo redis-server /etc/redis/redis.conf

12、启动匹配服务(在 /home/acs/ 目录下)

cd /acapp/match_system/src/
./main.py

13、启动django_channels 联机服务(在 /home/acs/acapp 目录下)

daphne -b 0.0.0.0 -p 5015 acapp.asgi:application

14、启动uwsgi 服务器服务(在 /home/acs/acapp 目录下)

uwsgi --ini scripts/uwsgi.ini

五、可以畅快地玩自己copy的术士之战了!!!

这下算真正意义上的完结撒花啦~
2023.6.25-2023.7.24

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值