docker实现镜像迁移。

介绍一下,专业解释请看->这可能是最为详细的Docker入门吐血总结_彪锅锅来啦-CSDN博客_docker,一大坨,我不是个有耐心的人,所以就看了一点点,再去问问我认识的这些老头子,交流一下!于是,就我个人而言,docker,就是一个虚拟机。大家平时在使用vm等虚拟机,创建linux系统,然后再在这个系统里边安装各种运行项目所需的环境,最后打包项目,启动项目。docker跟这个大同小异,不知道我的感觉对不对,你可以在虚拟机上创建多个linux系统,创建过程中你需要对其分盘,创建密码等等一些列操作,而docker就是可以创建多个容器。你在你的服务器上需要安装mysql,jdk等环境,同样docker容器也需要!但最关键的区别在于——一台新的服务器,你需要重新安装新的环境,项目也需要重新打包,而docker不用,你可以把之前的容器创建为新的镜像,在新的服务器,安装docker,再运行这个镜像就OK了!

设想,你公司的项目做好了,接下来就是给甲方大大去部署这个项目,而你甲方大大只会给你提供一台服务器,而你去了他们公司,只需要拿着你的镜像,给他服务器安装一个docker,运行就ok了,是不是非常省事呢?哦~具体我也不太清楚,方案b就是,你把你的容器生成镜像后,推送到远端,然后从远端拉取镜像,而这个也绝对是可以实现的。

好了进入正题——以一个boot项目为列子。

1.将打包好的jar包,上传到服务器下,

2.安装docker,在contos7下,并启动

sudo yum -y install docker-ce
sudo systemctl start docker

3.在刚刚gbq这个文件下,也就是和jar包的相同位置,创建Dockerfile文件夹,编辑

FROM azul/zulu-openjdk:8
VOLUME /gbq
ADD docker_test.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

https://www.dwhd.org/20151202_113538.html?lan=cn&lan=cn   Dockerfile详解。

4.生成镜像,注意:空格 .  不可省略

sudo docker build -t springbootdemo .//生成一个叫springbootdemo的镜像
docker images //查看你已有镜像

5.使用容器启动这个镜像

sudo docker run -d -p 8080:8082 springbootdemo  // 8080:代理8082  8082:springboot项目端口
docker ps //查看正在运行的容器
docker ps -a //查看所有容器

好了,使用docker启动项目成功。看一下效果,跟linux   后台启动jar包是一个效果

为了更好的查看,我也给大家看一下我服务器的ip(内网,各位访问不了)

项目启动成功了,接下来,我给大家把这个服务器下的运行docker容器,保存为一个新的镜像,再另外一个服务器,启动并且能够访问!

7.先把这个容器停下来

docker stop fe0ca055a52d  //后边是你的容器id  通过docker ps查看,如下图

8.将容器转换为一个新的镜像

docker commit fe0ca055a52d bootdemo  //fe0ca055a52d 容器id  bootdemo 新的镜像名称
docker images //查看是否生成了新的镜像,如下图.

9.把这个镜像保存为一个tar格式文件

docker save -o test.tar bootdemo   //test.tar 新生成的文件  bootdemo刚才创建镜像名
ls   //可以看到生成了 test.tar文件

10.把test.tar复制到另外一个安装有docker的服务器下,安装过程请参考第2步,如下图

11.加载这个镜像

docker load -i test.tar
docker images //查看镜像是否加载成功   如下图

12.运行这个镜像

sudo docker run -d -p 8081:8082 bootdemo  // 8081:代理8082  8082:springboot项目端口
docker ps //查看正在运行的容器

至此结束,我也是刚刚研究,所以有大牛觉得不对的地方,请指点!另外还是那句话,有问题群里找我,加我q,都可以。

好了,到此结束,拜了个拜!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

答 案

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

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

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

打赏作者

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

抵扣说明:

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

余额充值