1.建立一个文件夹(文件夹名称随意)
mkdir testDocker
2.打开文件夹子
cd testDocker
3.上传打包好的jar包
rz
运行rz命令报错的伙伴先根绝提示导入rz命令依赖。
4.编写Dockerfile文件(注意:文件名称强烈建议设为Dockerfile,并不是强制要求,但是需要改动很多配置,而且相当于国际惯例)
touch Dockerfile
5.编辑Dockerfile内容
vi Dockerfile
6.Dockerfile的内容如下
FROM hub.c.163.com/bingohuang/jdk8:latest MAINTAINER geduo COPY 你的jar包名称.jar app.jar EXPOSE 8000 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
简单解析一下这个Dockerfile:
FROM:当前创建的镜像所基于的镜像
MAINTAINER :作者名称
COPY:拷贝(这里是把jar包拷贝到当前镜像的容器里面),这里Dockerfile和jar包位于同一目录
EXPOSE:服务对外暴露的端口
ENTRYPOINT:容器入口,其中java -jar /app.jar就是运行jar包的意思,“-Djava.security.egd=file:/dev/./urandom ” 这条命令因为linux中和windows中取随机数时的参考策略不同,linux默认的随机数会被取完,导致返回-1.而制定/dev/./urandom这个取随机数的策略时,当随机数取完之后会返回伪随机数,不至于影响业务。
Dockerfile除了这几个常用的命令tag外,还有诸如:RUN,ADD,CMD,VOLUME…等一系列命令tag,有兴趣的伙伴可以自行去学习,这里不再提及。
7.创建镜像
docker build -t 镜像名:版本号 .
这里要注意一下 镜像名是必须的,:版本号非必须的,个人建议加个版本号,尤其注意命令最后面的 “.”不要遗漏。示例:
docker build -t imagename:1 .
当出现如下图所示,则创建镜像成功:
8.查看镜像列表
docker images
如图所示
9.运行镜像
docker run -d -p 9000:8000 镜像名
注意要把“镜像名”替换成你刚才的镜像命名,注意端口号顺序,9000是指在doocker暴露在外部的端口,8000是指docker里面的项目的端口.
10.访问你的服务,成功访问则成功。(http://localhost:9000)
提示SpringCloud组建的微服务从结构上解析,就是由多个SpringBoot项目组成,服务使用docker打包发布可以用当前教程作为参考,如果涉及多容器App则会相对复杂一点(后面看情况是否再出一个教程)。
原文链接:https://blog.csdn.net/qq_36871369/article/details/112788458