制作一个简单的Docker 镜像

  1. 准备好一个可执行的jar包:hello-service-1.0-SNAPSHOT-jar-with-dependencies.jar(一个spring boot web服务,端口8080)。
root@localhost /h/t/d/hello_service# ls
Dockerfile  hello-service-1.0-SNAPSHOT-jar-with-dependencies.jar

这个jar是基于jdk17的,直接使用java -jar xxx.jar执行会报错。


image.png
  1. 在同目录下生成Dockerfile文件
# 依赖的父镜像,需要jdk17
FROM openjdk:17.0.2-oracle

# 复制当前目录文件到docker容器目录
COPY hello-service-1.0-SNAPSHOT-jar-with-dependencies.jar /hello/hello-service-1.0-SNAPSHOT-jar-with-dependencies.jar
# 暴露端口
EXPOSE 8080
# docker run时执行的命令
ENTRYPOINT ["java", "-jar", "/hello/hello-service-1.0-SNAPSHOT-jar-with-dependencies.jar"]

FROM 指定的镜像可以去dockerhub查询

image.png

  1. docker build --tag hello .生成镜像

    image.png

  2. docker run -p 8080:8080 hello & 后台运行docker容器,将容器的8080端口映射到服务器的8080端口
    docker ps 查看运行中容器,可以发现已经启动成功。

    image.png

  3. 浏览器访问,服务已启动


    image.png

一直惧怕docker这些新技术新概念,动手尝试一下也不是很难。毕竟工具就是屏蔽复杂细节,提高生产效率。不容易使用的话是工具制作者的问题(或者专业程度深的工具)。

你可能感兴趣的:(制作一个简单的Docker 镜像)