原版文章地址 https://blog.csdn.net/qq_41917077/article/details/121588855
另一种方法请见下一篇 Mac M1中运行nacos 的docker container(二)
笔者之前用的windows 系统,新买的M1前几天刚到货,在用docker desktop 运行 nacos 容器的时候碰到了一些问题,故此做下记录,也希望我的经历能够帮到更多人。
首先docker hub官网上的nacos镜像是不支持arm架构的,需要自行打包nacos镜像才能运行。
自行打包
首先下载nacos提供的打包工程
https://github.com/nacos-group/nacos-docker.git
这个工程是nacos 提供的一种快捷打包nacos docker 镜像的工程,提供了docker-compose编排例子,docker镜像制作源码。这里我们就需要根据镜像制作源码制作我们的docker 镜像。
修改dockerfile
进入到build文件夹,打开Dockerfile 文件
FROM centos:7.5.1804
MAINTAINER pader "huangmnlove@163.com"
# 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/lib/jvm/java-1.8.0-openjdk" \
NACOS_USER="nacos" \
JAVA="/usr/lib/jvm/java-1.8.0-openjdk/bin/java" \
JVM_XMS="1g" \
JVM_XMX="1g" \
JVM_XMN="512m" \
JVM_MS="128m" \
JVM_MMS="320m" \
NACOS_DEBUG="n" \
TOMCAT_ACCESSLOG_ENABLED="false" \
TIME_ZONE="Asia/Shanghai"
ARG NACOS_VERSION=2.0.3
ARG HOT_FIX_FLAG=""
WORKDIR $BASE_DIR
RUN set -x \
&& yum update -y \
&& yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel wget iputils nc vim libcurl
RUN wget https://github.com/alibaba/nacos/releases/download/${NACOS_VERSION}${HOT_FIX_FLAG}/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
RUN yum autoremove -y wget \
&& ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone \
&&a