【docker】制作纯净的springboot镜像



提示:以下是本篇文章正文内容,下面案例可供参考

一、制作jdk8镜像

下载jdk1.8

wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz

解压压缩包

[root@localhost docker_jdk]# ls
Dockerfile  jdk1.8.0_201

Dockerfile

FROM centos:centos7
MAINTAINER sandishui
RUN mkdir /usr/local/jdk
WORKDIR /usr/local/jdk
ADD jdk1.8.0_201 /usr/local/jdk/jdk1.8.0_201

ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_201
ENV JRE_HOME /usr/local/jdk/jdk1.8.0_201/jre
ENV PATH $JAVA_HOME/bin:$PATH

开始build

docker build -t jdk1.8 .

注意后面的点,点表示当前目录。
查看当前镜像

[root@localhost docker_jdk]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
image_jdk1.8            latest              04e6a53c5bbf        About an hour ago   601 MB
docker.io/centos        centos7             8652b9f0cb4c        2 months ago        204 MB
docker.io/hello-world   latest              bf756fb1ae65        13 months ago       13.3 kB

二、制作springBoot镜像

打包一个自己的springboot工程,保证本地能启动成功。
在这里插入图片描述
在这里插入图片描述
创建文件夹image_spring_boot,并且放入文件

[root@localhost image_spring_boot]# ls
Dockerfile  docker-hello-1.0-SNAPSHOT.jar

Dockerfile文件内容


FROM image_jdk1.8
MAINTAINER sandishui
RUN mkdir /usr/local/webapp
WORKDIR /usr/local/webapp   
ADD docker-hello-1.0-SNAPSHOT.jar /usr/local/webapp
            
ENTRYPOINT ["nohup","java","-jar","docker-hello-1.0-SNAPSHOT.jar","&"]

在当前文件夹中执行

docker build -t spring_boot .

注意最后的点。表示当前目录
查看当前镜像

[root@localhost image_spring_boot]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
spring_boot             latest              c68c6aa2f2d0        23 minutes ago      618 MB
image_jdk1.8            latest              04e6a53c5bbf        About an hour ago   601 MB
docker.io/centos        centos7             8652b9f0cb4c        2 months ago        204 MB
docker.io/hello-world   latest              bf756fb1ae65        13 months ago       13.3 kB

启动springboot

docker run -itd -p 8080:8080 c68c6aa2f2d0

三、dockerfile命令

  1. FROM 基于**镜像
  2. MAINTAINER 镜像的维护的姓名和邮箱地址
  3. RUN 镜像构建时需要运行的命令
  4. WORKDIR 容器创建后,默认在的目录
  5. EXPOSE 当前容器对外暴露端口
  6. ENV 环境变量
  7. ADD 将宿主机目录下的文件cp到镜像中,ADD命令会自动解压压缩包
  8. VOLUME 容器数据卷,用于保存和持久化
  9. CMD 指定容器启动过程中需要运行的命令,注意:多条CMD命令,只有最后一条生效,CMD会被docker run 之后的参数替换
  10. ENTRYPOINT 执行容器启动过程中需要运行的命令,此命令会追加到docker run的参数后面

猜你喜欢

转载自blog.csdn.net/qq_30285985/article/details/113613994
今日推荐