在鲲鹏云服务器制作keycloak docker镜像

举报
姮柏芃 发表于 2020/05/30 14:48:38 2020/05/30
【摘要】 keycloak是一个开源软件产品,旨在为现代的应用程序和服务,提供包含身份管理和访问管理功能的单点登录工具。目前dockerhub上官方未提供arm版的jboss/keycloak镜像,本指导文档主要介绍以Dockerfile方式构建jboss/keycloak-arm镜像。

keycloak是一个开源软件产品,旨在为现代的应用程序和服务,提供包含身份管理和访问管理功能的单点登录工具。目前dockerhub上官方未提供arm版的jboss/keycloak镜像,本指导文档主要介绍以Dockerfile方式构建jboss/keycloak-arm镜像。



环境要求

硬件要求

本文以KC1实例测试,配置如表 云服务器配置所示

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)


操作系统要求

操作系统要求如表 操作系统要求所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。


配置编译环境

  1. 安装依赖的基础组件和docker

    yum install -y yum-utils device-mapper-persistent-data lvm2 git

    yum -y install docker

  2. 启动docker并设置docker开机自启

    systemctl start docker

    systemctl enable docker

获取源码

获取“keycloak最新Dockerfile脚本”源码包。

cd /usr/local/src

git clone https://github.com/keycloak/keycloak-containers.git

编译和安装

  1. 编辑Dockerfile文件,将第一行基础镜像修改成“From registry.fedoraproject.org/fedora-minimal:30

    cd keycloak-containers/server/

    vim Dockerfile

    From registry.fedoraproject.org/fedora-minimal:30
  2. 执行docker构建命令

    docker build -t jboss/keycloak-arm:8.0.0 .


    构建过程中会出现警告信息,可直接忽略警告信息。


运行和验证

查看docker镜像

docker images

回显类似如下信息

  • REPOSITORY                   TAG     IMAGE ID     CREATED         SIZE
  • jboss/keycloak-arm               8.0.0    4f82csadf2615   1 minutes ago     787MB
  • registry.fedoraproject.org/fedora-minimal   30      156adfe65aea5    2 months ago     164MB



启动jboss/keycloak容器

docker run -d -p 8080:8080 -e KEYCLOAK_USER=root -e KEYCLOAK_PASSWORD=root jboss/keycloak-arm:8.0.0

启动后执行docker ps 查看容器启动状况如下

 
 
  • CONTAINER ID  IMAGE           COMMAND          CREATED      STATUS       PORTS        NAMES

  • 561ae5t64a5   jboss/keycloak-arm:8.0.0 "/opt/jboss/tools/..."   10 seconds ago  Up 8 seconds  8080/tcp,8443/tcp  suspici...


使用浏览器访问 http://<ecs的ip>:8080 ,会出现如下页面

      




============================================================================================

keycloak5.0.0镜像制作方法如下。

下载源码包解压

更改keycloak-contariners/server/Dockerfile文件如下。

FROM arm64v8/centos:7    
RUN yum update -y && yum -y install xmlstarlet saxon augeas bsdtar unzip && yum clean all    
RUN groupadd -r jboss -g 1000 && useradd -u 1000 -r -g jboss -m -d /opt/jboss -s /sbin/nologin -c "JBoss user" jboss && \    
chmod 755 /opt/jboss    
USER root    
RUN yum -y install java-1.8.0-openjdk-devel && yum clean all    
ENV JAVA_HOME /usr/lib/jvm/java    
ENV KEYCLOAK_VERSION 5.0.0    
ENV JDBC_POSTGRES_VERSION 42.2.2    
ENV JDBC_MYSQL_VERSION 5.1.46    
ENV JDBC_MARIADB_VERSION 2.2.3    
ENV LAUNCH_JBOSS_IN_BACKGROUND 1    
ENV PROXY_ADDRESS_FORWARDING false    
ENV JBOSS_HOME /opt/jboss/keycloak    
ENV LANG en_US.UTF-8    
ARG GIT_REPO    
ARG GIT_BRANCH    
ARG KEYCLOAK_DIST=https://downloads.jboss.org/keycloak/$KEYCLOAK_VERSION/keycloak-$KEYCLOAK_VERSION.tar.gz    
USER root    
RUN yum upgrade -y && yum install -y epel-release git && yum install -y jq openssl which && yum clean all    
ADD tools /opt/jboss/tools    
RUN /opt/jboss/tools/build-keycloak.sh    
USER 1000    
EXPOSE 8080    
ENTRYPOINT [ "/opt/jboss/tools/docker-entrypoint.sh" ]    
CMD ["-b", "0.0.0.0"]


更改keycloak-contariners/server/tool/build-keycloak.sh文件中关于maven的地址如下图


其他步骤和8.0.0版本一致。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。