如何发布开源jar包到docker hub的公共镜像
概述
以sentinel 1.8.1的官网下载的jar包为例,发布到docker hub镜像上。
操作步骤
1.下载最新版本的jar包
官方地址:https://github.com/alibaba/Sentinel/releases
2.创建Dockerfile文件
#penjdk:8-jre 为基础镜像,来构建此镜像,可以理解为运行的需要基础环境
FROM openjdk:8-jre
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。
WORKDIR /opt/docker/images/metabase/
#将当前spring.jar 复制到容器根目录下
ADD sentinel-dashboard-1.8.1.jar app.jar
#将依赖包 复制到容器根目录/libs下,spring.jar已不再需要添加其它jar包
#ADD libs /libs
#暴露容器端口为8080 Docker镜像告知Docker宿主机应用监听了8080端口
EXPOSE 8080
#容器启动时执行的命令
CMD java -jar app.jar
3.生成docker镜像文件
docker build -t 名称:版本 .
sentinel的完整样例
docker build -t sentinel-dashboard:1.8.1 .
注意:不要省略最后的一点符号“.”,表示生成到当前路径
如果需要指定Dockerfile名称,则增加-f参数,如下
docker build -f /path/to/a/Dockerfile -t 名称:版本 .
4.查看镜像文件和运行调试
命令如下:
docker images
可以查看sentinel启动配置项官方文档
https://sentinelguard.io/zh-cn/docs/startup-configuration.html
本地直接运行调试,启动镜像
docker run -p 9090:9090 -d matecloud/sentinel-dashboard
5.发布镜像
网址
首先得注册账号和密码,留存5.3步骤备用
5.1.发布命令,两个步骤
查看官方文档
https://docs.docker.com/docker-hub/
5.2.sentinel的命令样例
- 打tag
docker tag docker.io/library/sentinel-dashboard:1.8.1 matecloud/sentinel-dashboard:1.8.1
- push
docker push matecloud/sentinel-dashboard:1.8.1
5.3.注意点
直接操作会报错,报错信息如下:
denied: requested access to the resource is denied
这是因为我们没有登录导致的,所以先用注册的账号密码登录
docker login
输入账号密码,再次执行docker push,就可以发布成功了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。