直接通过jar包构建docker镜像并部署

1、编写Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
#基础镜像
FROM openjdk:8-jdk-alpine
#容器的工作目录,以下命令默认在该目录下执行
WORKDIR /opt
#把当前目录的文件复制到容器的工作目录
ADD 文件名.jar 文件名.jar
#解决 alpine缺少字体导致验证码报错问题(不需要的可去掉以下两行)
ENV LANG en_US.UTF-8
RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
#暴露容器的端口
EXPOSE 80
#执行启动jar的命令
CMD ["java", "-jar", "tyjr.jar"]

2、构建镜像

如果Dockerfile和jar包不在同一路径下,ADD命令后,文件名前需补全路径

1
2
#命令的最后有一个点,表示Dockerfile所在的路径
docker build -t 镜像名:版本号 .

构建完成后可通过docker images查看构建出的镜像,也可通过 docker rmi 镜像id删除镜像

3、运行

1
docker run -d -p 8033:80 镜像id

-d: 让容器在后台运行

-p 端口映射,宿主机端口:容器暴露出的端口

4、相关命令

1
2
3
4
5
6
7
8
9
10
#查看容器运行情况
docker ps
#查看所有容器运行情况(包括已停止的)
docker ps -a
#查看容器运行日志
docker logs -f 容器id
#进入容器,基础镜像是alpine的话,最后的bash需要改为sh; exit退出
docker exec -it 容器id bash
#删除容器
docker rm 容器id

5、相关参考

alpine缺少字体问题参考地址:https://blog.zjyl1994.com/post/alpine-fontconfig