麒麟Arm64nacos打包docker镜像说明

1    需求说明
1.1    目标
在麒麟Arm版本下打包nacos镜像。
1.2    问题
(1)    麒麟根据ubuntu开发,基础镜像最好根据ubuntu发布;
(2)    现有的nacos镜像全部为基于centos发布;
(3)    现有发布为openjdk要改为标准jdk;
(4)    需要使用mysql8版本的数据库;
2    实现过程
2.1    下载基础镜像并设置相关环境
2.1.1    拉取最新镜像
docker pull ubuntu
2.1.2    启动一个容器设置环境
(1)    启动
sudo docker run -it --name ubuntu --privileged -p 10023:22 -p 10081:80 ubuntu /bin/bash
(2)    进入容器设置环境
apt-get update
apt-get upgrade
apt-get install -y wget
(3)    将容器生成为镜像
docker commit -m="apt-get update" -a="itos/jia" ec0857d405a7 itos/ubuntu:v16.04 
2.2    制作jdk镜像
根据生成的itos/ubuntu:v16.04来增加jdk
(1)    下载jdk
下载版本为jdk-8u321-linux-aarch64.tar.gz的jdk。
(2)    编写Dockerfile
内容如下

FROM itos/ubuntu:v16.04
MAINTAINER itos/jia

RUN mkdir /usr/local/java

ADD jdk-8u321-linux-aarch64.tar.gz /usr/local/java

RUN ln -s /usr/local/java/jdk1.8.0_321 /usr/local/java/jdk

# set environment variables
ENV JAVA_HOME /usr/local/java/jdk

ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH

注意ln的目录一定要设置对
(3)    执行命令
docker build -t itos/jdk:v1.8.0 .
2.3    制作nacos镜像
(1)    下载nacos-server的最新版本
https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz
放到一个自己可以快速访问的网站。
(2)    编写Dockerfile
# Nacos Ubuntu with JDK 8
# Author   itos/jia
# build a new image with basic ubuntu
FROM itos/jdk:v1.8.0
# who is the author
MAINTAINER  itos/jia

# set environment
ENV MODE="cluster" \
    PREFER_HOST_MODE="ip"\
    BASE_DIR="/home/nacos" \
    CLASSPATH=".:/home/nacos/conf:$CLASSPATH" \
    CLUSTER_CONF="/home/nacos/conf/cluster.conf" \
    FUNCTION_MODE="all" \
    JAVA_HOME="/usr/local/java/jdk" \
    NACOS_USER="nacos" \
    JAVA="/usr/local/java/jdk/bin/java" \
    JVM_XMS="256m" \
    JVM_XMX="256m" \
    JVM_XMN="256m" \
    JVM_MS="128m" \
    JVM_MMS="320m" \
    NACOS_DEBUG="n" \
    TOMCAT_ACCESSLOG_ENABLED="false" \
    TIME_ZONE="Asia/Shanghai"
    
ARG NACOS_VERSION=2.1.0
ARG HOT_FIX_FLAG=""

RUN wget  http://192.168.110.101:20000/data/nacos-server-${NACOS_VERSION}.tar.gz -P /home
RUN tar -xzvf /home/nacos-server-${NACOS_VERSION}.tar.gz -C /home \
    && rm -rf /home/nacos-server-${NACOS_VERSION}.tar.gz /home/nacos/bin/* /home/nacos/conf/*.properties /home/nacos/conf/*.example /home/nacos/conf/nacos-mysql.sql

ADD bin/docker-startup.sh bin/docker-startup.sh
ADD conf/application.properties conf/application.properties


# set startup log dir
RUN mkdir -p logs \
    && cd logs \
    && touch start.out \
    && ln -sf /dev/stdout start.out \
    && ln -sf /dev/stderr start.out
RUN chmod +x bin/docker-startup.sh

EXPOSE 8848
ENTRYPOINT ["bin/docker-startup.sh"]
(3)    执行命令
docker build -t itos/nacos-server:v2.1.0 .

2.4    通过docker-compose发布
(1)    编写docker-compose.yaml
version: "3.4"
services:
  nacos:
    image: itos/nacos-server:v2.1.0
    container_name: nacos
    env_file:
      - ./env/nacos-standlone-mysql.env
    volumes:
      - /itos/data/nacos/standalone-logs/:/home/nacos/logs
      - /itos/data/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties    
      - /itos/data/nacos/conf:/home/nacos/conf
    environment:
      - TZ= Asia/Shanghai   
    ports:
      - "38848:8848"
      - "39848:9848"
      - "39555:9555"
    depends_on:
      - nacos-mysql
    restart: always
  nacos-mysql:
    container_name: nacos-mysql
    image: itos/mysql:v8.0.29-0ubuntu0.22.04.2
    env_file:
      - ./env/mysql.env
    environment:
      - TZ= Asia/Shanghai   
    volumes:
      - /itos/data/nacos/mysql/data:/var/lib/mysql
    ports:
      - "23306:3306"
(2)    修改nacos-standlone-mysql.env
PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=nacos-mysql
MYSQL_SERVICE_DB_NAME=nacos_config
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=nacos
MYSQL_SERVICE_PASSWORD=nacos
MYSQL_DATABASE_NUM=1
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=2000&allowPublicKeyRetrieval=true&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai

对于mysql8以上版本必须增加allowPublicKeyRetrieval=true
(3)    拷贝配置文件
将conf的nacos-logback.xml和application.properties拷贝到对应目录
3    测试
http://ip:38848/nacos

 
默认用户名密码nacos/nacos

录入一个配置看是否成功。

4    参考
https://github.com/nacos-group/nacos-docker
 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要为arm64架构构建nacosDocker镜像,可以参考以下步骤: 1. 首先,从nacos官方的GitHub仓库中克隆Docker仓库。可以使用命令`git clone https://github.com/nacos-group/nacos-docker.git`。 2. 进入克隆下来的nacos-docker目录,然后找到并编辑Dockerfile文件。 3. 在Dockerfile中,找到镜像的基础操作系统部分,并将其替换为适用于arm64架构的操作系统,例如ubuntu:18.04或alpine。 4. 确保Dockerfile中的依赖项和构建命令与arm64架构兼容。可以根据需要修改构建命令。 5. 执行构建镜像命令,例如`docker build -t nacos/nacos-server:arm64 .`。这将会构建一个以arm64架构为基础的nacos Docker镜像。请注意,你可以根据需要修改镜像的名称和版本号。 完成上述步骤后,你就成功地为arm64架构构建了nacosDocker镜像。可以使用该镜像来部署和运行nacos服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [nacos-server2.2.3 docker镜像](https://download.csdn.net/download/yg929880282/87855526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ARM64架构构建nacos docker镜像](https://blog.csdn.net/wenjian9487/article/details/127548139)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值