1、环境准备:
主机:
X-shell
X-ftp
jar包
这里只说下jar包,另外两个到官网下载即可
Idea打包jar包流程
先按这四步走
先点击左下的框框,再点击maven,出现右边的窗口,点击clean,再点击package,等待一会后,便会在target目录下出现一个jar包
服务器:
linux系统(centos)
docker
tomcat
2、上传jar包至Linux服务器
在根目录下创建一个空的文件夹
mkdir eureka
用x-ftp将jar包传至该目录下
cd eureka
再点击,x-sheel上的像摄像机一样的图标
将jar包拖至该文件
(jar包最好重名命下,改成全小写的,比如app.jar)
3、编写Docker文件
在eureka目录下
vim Dockerfile
将下面文件复制进去
From java:8#将本地文件夹挂在到当前容器VOLUME /tmp#复制文件到容器ADD app.jar /app.jar#声明需要暴露的端EXPOSE 8080#配置容器启动后执行的命令ENTRYPOINT ["java","-jar","/app.jar"]
4、执行打包命令
输入ls,确保有以下两个文件后,可执行接下来的操作
docker build -t app:0.0.1 .
5、执行运行命令
docker run -p 8080:8080 app:0.0.1
出现如图代表运行成功,是不是和Idea里运行的一样
访问自己的网站
微服务部署成功!!!
注意:
部署过程中遇到好几个坑
1、运行docker build -t时,没有改名字,Idea打包会出现大写字母,比如
docker-test-0.0.1-SNAPSHOT.jar
后面几个后缀是大写字母,而build时是不能有大写字母的
2、也是运行docker build -t app:0.0.1 .时
后面的点,我写在1后面了,也就是没加空格,一直显示打包失败
3、Dockerfile里的ADD app.jar /app.jar,由于第一个app.jar没写空格,查了半天,都不知道哪错了,只能运行到第三步。最后自己仔细想想报错的原因,报错显示add 后面少了两个参数,我终于知道是没加空格了,果然,加了之后,就可以运行到第五步了。
ps:打空格真的很重要