使用Docker制作自己的镜像
步骤
- 将你已经封装好的jar包导入Linux中
- 在Linux中创建Dockerfile文件,并写入以下内容(括号内容应删去):
正常情况下
1
2
3
4
5
6
7
8
9FROM openjdk:17(你想要的任意版本)
LABEL author=ranni(名字)
COPY app.jar /app.jar(把jar包存放在规定的文件夹)
EXPOSE 8080(端口)
ENTRYPOINT ["java","-jar","/app.jar"](启动命令) - 输入以下命令这时你查看镜像应该已经发现你创建的镜像了,接着启动它
1
docker build -f Dockerfile -t 你的镜像名:版本号 .
就可以直接web访问了。1
docker run -d -p 8080:8080 你的镜像名:版本号
如果很不幸,你和我处境一样,我知道有两种办法来解决。但是我遇到了问题,在设置完镜像后不能正常启动,原因是我使用的国内镜像不能正常拉取所需要的镜像
其一是切换镜像,但是我不推荐,因为麻烦。
最后就是我选择的方法,自己导入所需镜像,然后把Dockerfile中需要的镜像地址替换成我导入的镜像地址。
在这个步骤中我需要自己导入jdk17.同时修改Dockerfile文件1
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:17
然后在启动容器时,指定参数1
2
3
4
5
6
7
8
9
10
11ARG BASE_IMAGE
FROM $BASE_IMAGE
LABEL author=ranni(名字)
COPY app.jar /app.jar(把jar包存放在规定的文件夹)
EXPOSE 8080(端口)
ENTRYPOINT ["java","-jar","/app.jar"](启动命令)这样就可以正常拉取镜像并启动容器了。1
docker run -d -p 8080:8080 -e BASE_IMAGE=swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:17 你的镜像名:版本号
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 精神内猫!
