命令语句发布镜像
制作好可以启动的springboot应用
例如 spring-demo-0.0.1-SNAPSHOT.jar 是可以正常使用的jra包,web应用
本机启动可以看到 swagger或者其他
本示例的jar包启动后,应用端口为 9091;等镜像制作完成,需要使用到
编写DockerFile
# 基础镜像
FROM java:8
# 作者
MAINTAINER galen<17722515203@163.com>
# 指定了临时文件目录为/tmp。
VOLUME /tmp
# 将spring-demo-0.0.1-SNAPSHOT.jar添加(复制)到容器中并重命名为 xxx.jar
ADD spring-demo-0.0.1-SNAPSHOT.jar app.jar
# 运行复制过来的app.jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
说明:
1)xxx.jar 指的是重命名为 某某某
2)ADD命令:
ADD spring-demo-0.0.1-SNAPSHOT.jar app.jar
如果 目标文件 spring-demo-0.0.1-SNAPSHOT.jar 与DockerFile不在同一个目录,
还需要指定目标文件的目录,与文件查找的道理一致。
制作镜像
docker build -t app-demo .
说明:
-t 指定制作的镜像名称
制作完成后可以通过
docker images
查看制作好的镜像 app-demo
启动容器
docker run -d --name myApp -p 8081:9091 app-demo:latest
说明:
-d 参数是让容器后台运行
–name 指定容器的名称
-p 是做端口映射,容器的9091 应用端口映射到宿主机的8081
访问验证
浏览器输入 http://【宿主机IP】:8081/swagger-ui.html
使用IDEA发布镜像
maven install得到jar包
产生的jar包一般在 target 目录下
编写DockerFile
与 target 目录同级,新建一个Dockerfile文件
# 基础镜像
FROM java:8
# 作者
MAINTAINER galen<17722515203@163.com>
# 指定了临时文件目录为/tmp。
VOLUME /tmp
# 将spring-demo-0.0.1-SNAPSHOT.jar添加(复制)到容器中并重命名为app.jar
ADD target/spring-demo-0.0.1-SNAPSHOT.jar app.jar
# 运行复制过来的app.jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
# 容器的端口
EXPOSE 9091
说明:
ADD spring-demo-0.0.1-SNAPSHOT.jar app.jar
此处 目标文件 spring-demo-0.0.1-SNAPSHOT.jar 与DockerFile不在同一个目录,
需要 加上target/ 定位到jar文件
配置命令
上面的示例图就是IDEA下,通过界面操作的。细心看到底部有个置灰的 Command preview
文本框,不难发现,我们上面配置的内容都会在这里得到预览。这是一个命令预览框,形成
的命令其实跟我们前面使用命令的方式差不多。
至于每个输入框的作用,大致看一下标题的英文或者网上查阅即可,这里就不多介绍了。
点击发布
点击 侧三角箭头 即可
访问验证
浏览器输入 http://【宿主机IP】:8081/swagger-ui.html