1. HTTP3W博客首页
  2. 技术
  3. docker

docker容器迁移

把容器从一台服务器迁移到另一台服务器,分以下五个步骤
1、容器打包成镜像 # docker commit -m “” -a “” [CONTAINER ID] [新的镜像名] ,其中-m和-a是可选参数,意思分别是描述和作者
2、导出镜像 # docker save -o [新的镜像名.tar] [新的镜像名]
3、拷贝镜像到目标服务器 # scp src dst
4、导入镜像 # sudo docker load -i [新的镜像名.tar]
5、运行容器 # docker run

以gitlab-server容器为例,从服务器A迁移到服务器B,服务器A上访问如下

根据上述迁移步骤,执行命令如下
打包及导出镜像

[root@iZ8vba5v70usn7u3qeqqfr www]# docker ps
CONTAINER ID      IMAGE       COMMAND       CREATED        STATUS         PORTS         NAMES
f784026961bf   gitlab/gitlab-ce:latest   "/assets/wrapper"        8 months ago   Up 18 minutes (healthy)   80/tcp, 443/tcp, 0.0.0.0:8929->8929/tcp, 0.0.0.0:2224->22/tcp   gitlab

[root@iZ8vba5v70usn7u3qeqqfr www]# docker commit f784026961bf wtgitlab

[root@iZ8vba5v70usn7u3qeqqfr www]# docker images
REPOSITORY           TAG             IMAGE ID       CREATED          SIZE
wtgitlab             latest          9110c4412df7   46 minutes ago   2.53GB

[root@iZ8vba5v70usn7u3qeqqfr www]# pwd
/www
[root@iZ8vba5v70usn7u3qeqqfr www]# docker save -o wtgitlab.tar wtgitlab

[root@iZ8vba5v70usn7u3qeqqfr www]# ll
-rw------- 1 root root 2594448384 7月  21 09:21 wtgitlab.tar

补充:通过SSH协议在本地和服务器之间传输文件和目录的方法

通过SSH协议在本地和服务器之间传输文件/目录,从一个地址拷贝至另一个地址,如下

$ scp src dst

src为源文件,dst为目标目录/文件,src和dst可以是本地地址,也可以是网络地址,如下

$ scp test.txt dong@159.75.70.201:/home/dong

复制本地的test.txt到服务器159.75.70.201下的/home/dong目录,用户名为dong,拷贝过程会提示输入口令,反过来则为从服务器拷贝文件至本地,如

$ scp dong@159.75.70.201:/home/dong/test2.txt .

即从远程/home/dong目录拷贝test2.txt至本地的当前目录

如果是拷贝目录,则格式如下

$ scp -r src_dir dst_dir

加上-r选项,同时源和目标参数改为目录名,比如

$ scp -r dong@159.75.70.201:/home/dong/ugv ./ugv_local

拷贝远程的ugv目录至本地ugv_local目录

scp的语法与cp的语法大概一致,只是scp能够引用网络地址

1、原创文章,作者:诺米,如若转载,请注明出处:https://www.http3w.com/archives/781

2、本站内容若有雷同从属巧合,若侵犯了您的权益,请联系本站删除,E-mail: wtao219@qq.com

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

254007489

在线咨询:点击这里给我发消息

邮件:wtao219@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息