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能够引用网络地址
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com