Dokcerfile官方文档:https://docs.docker.com/engine/reference/builder/
Docker仓库地址:https://hub.docker.com/
官方镜像github地址:https://github.com/docker-library/official-images
Dockerfile创建运行环境
环境要求:centos7.9.2009服务器 + JDK8
编写Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19FROM centos:centos7.9.2009
LABEL version="1.0"
LABEL author="xg"
# 添加并解压缩jdk安装包
ADD ./jdk-8u381-linux-aarch64.tar.gz /usr/local/
# 安装jdk
RUN rm -rf /usr/local/jdk-8u381-linux-aarch64.tar.gz && yum clean all
# 配置环境变量
ENV JAVA_HOME=/usr/local/jdk1.8.0_381
ENV PATH=$PATH:$JAVA_HOME/bin
# 设置工作目录,在这个目录下存放springboot jar包
WORKDIR /app
CMD ["bash"]构建镜像
1
2# -t参数指定镜像名称以及版本,即:centos7/jdk8:1.0
docker build -t centos7/jdk8:1.0 .查看镜像
1
2
3
4
5docker images
# 出现下面内容表示构建成功
REPOSITORY TAG IMAGE ID CREATED SIZE
centos7/jdk8 1.0 44af210bd7d2 20 hours ago 503MB
Dockerfile部署Springboot项目
基于刚刚构建好的 centos7/jdk8:1.0 环境,将springboot jar包部署到运行环境
编写Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14FROM centos7/jdk8:1.0
LABEL version="1.0"
LABEL author="xg"
WORKDIR /app
COPY ./boot-dockerfile-1.0-SNAPSHOT.jar /app/boot-dockerfile-1.0-SNAPSHOT.jar
# 暴露Tomcat访问端口
EXPOSE 8080
# 运行jar包
CMD ["java", "-jar", "boot-dockerfile-1.0-SNAPSHOT.jar"]构建Dockerfile
1
docker build -t bootjar:1.0 .
启动Docker镜像
1
docker run -dit -p 8080:8080 bootjar:1.0
测试
1
2
3curl "http://10.211.55.10:8080/hello?val=docker"
hello, docker