文章内容:
一、新建springboot项目
二、打包项目,发送到安装docker的虚拟机
三、镜像制作
四、启动容器

本文采用制作镜像的虚拟机系统是centos7,建立的是eureka项目

一、新建springboot项目
1、首先建立一个eureka项目,主要是因为搭建简单,方便。关于具体如何建立springboot项目不在此累赘,也不是本文的重点。随便其他的springboot项目也都是可以的,只要到时候能够验证启动效果。

首先pom.xml文件里面<dependencies>中引入2个依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
	<version>2.1.2.RELEASE</version>
</dependency>

在这里插入图片描述
然后是启动类添加@EnableEurekaServer注解
在这里插入图片描述
再将配置文件后缀改为yml,添加以下配置

spring:
  application:
    name: h-eureka
server:
  port: 1111
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
     defaultZone: http://localhost:1111/eureka

在这里插入图片描述
启动该项目后,在浏览器地址栏输入http://localhost:1111,如果看到下面界面则表示启动成功
在这里插入图片描述

二、打包项目,发送到安装docker的虚拟机

1、在idea的Terminal窗口输入mvn clean package,对项目进行打包,或者直接用maven插件打包
在这里插入图片描述
出现BUILD SUCCESS,jar包也建立好了,就打包完成了,然后将jar包上传到docker的linux机器就行了

2、拷贝jar包到docker机器
打包好后将这个jar报发送到docker虚拟机或者云服务器,我这里直接用scp命令发送到云服务器,大家也可以使用其他工具,如xftp等。

首先进入到本地jar包所在目录,打开powershell窗口。如何打开powershell,在文件管理页面按住shift,在空白处右键鼠标。
在这里插入图片描述
打开后先输入dir查看当前目录下是否存在jar包,eureka-0.0.1-SNAPSHOT.jar
确认存在后执行scp命令拷贝

scp jar包名 root@linux机器ip:~/

如我的是:scp eureka-0.0.1-SNAPSHOT.jar root@192.168.1.114:~/
需要替换的是你的jar包名和linux机器的ip地址,我这里直接用的root账户,也可使用其他账户

首次连接虚拟机或云服务器需要验证,输入yes再回车,然后输入linux机器的root密码即可,等达到100%即上传完成。不懂scp命令的可以自行百度了解。或查看https://blog.csdn.net/qq_25591191/article/details/99679796
在这里插入图片描述
3、在虚拟机或云服务器找到jar包
登录linux机器,使用root账户,进入根目录输入ll查看,jar包拷贝成功
在这里插入图片描述
4、编写dockerfile文件
使用vim编辑,就在当前jar包所在目录,不要去其他目录
输入vim dockerfile
输入i进行编辑
输入下面内容

FROM java:8
ADD eureka-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

在这里插入图片描述
然后按键盘上的esc,再输入:wq保存并退出

5、制作镜像
查看当前目录下的文件,确保jar包和dockerfile都存在
在这里插入图片描述
然后在当前目录输入命令

docker build -t mytest:v1.0 .

-t表示设置镜像的tag标签和名称,mytest是名称,v1.0是tag,可自行修改
.代表当前路径下,注意不要输入“…/docker/”等带父目录的路径,docker不能识别,在当前目录使用.就行了
然后回车,出现成功标识即制作镜像成功。我这里因为已经下载了java8的镜像,所以很快,如果没拉取过,会自动先拉取java8的镜像,时间稍长。
在这里插入图片描述
查看现有的镜像,docker images命令,能够看到下面镜像已经存在了。
在这里插入图片描述

四、启动容器
1、启动制作的镜像
输入命令

docker run -d -p 8888:1111 mytest:v1.0

注意::v1.0不能省略,否则会去docker register查找镜像,而不是本地
在这里插入图片描述
启动完成
2、验证
在浏览器输入云服务器或虚拟机的ip地址加上8888端口即可访问eureka
如:192.168.1.114:8888

在这里插入图片描述
好了,制作镜像就完成了。

注意:如果启动容器后上面页面打不开,可能是云服务器安全组规则没开放8888端口,或者虚拟机防火墙开启,没开放8888端口。虚拟机关闭防火墙或者开放8888端口,云服务器配置安全组规则,开放8888端口。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐