Nacos容器化
# Nacos容器化
Nacos 容器化,因为修改了 Nacos 源码(使其支持 PostgreSQL),所以需要构建自己的镜像。
# 官网资料
官网提供的下载链接:https://github.com/alibaba/nacos/releases (opens new window)
下载一个官网提供的构造nacos docker
镜像的源码,然后根据自己的需求改动。
官网链接:https://nacos.io/zh-cn/docs/quick-start-docker.html (opens new window)
源码链接:https://github.com/nacos-group/nacos-docker.git (opens new window)
文件的结构说明:
nacos-docker-master
|----build:nacos 镜像制作的源码
|----bin:shell脚本
|----conf:配置文件
|----env: docker compose 环境变量文件
|----example: docker-compose编排例子
# 自定义
我使用的版本是2.0.4
。
# Dockerfile
修改Dockerfile
文件的内容:
NACOS_VERSION
该为自己要使用的版本;
ARG NACOS_VERSION=2.0.4
- 将自己打好的包放到
build
文件夹中。
COPY nacos-server-2.0.4.tar.gz /home
- 删除从网络获取的命令。
Dockerfile 完整内容。
FROM centos:7.9.2009
MAINTAINER pader "huangmnlove@163.com"
# set environment
ENV MODE="standalone" \
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.4
ARG HOT_FIX_FLAG=""
WORKDIR $BASE_DIR
COPY nacos-server-2.0.4.tar.gz /home
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 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 \
&& yum clean all
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"]
# config
修改连接数据库的配置。
# 构建
(1)cd到build文件夹
(2)构建命令
docker build -t nacos-2.0.4 .
# docker-compose
官方 example 文件夹中有 docker-compose 编排例子。
需要根据自己的使用去修改。
例如,我的需求是单机启动,然后使用自己的2.0.4
版本的镜像。
version: "3"
services:
nacos:
image: nacos:2.0.4
container_name: nacos
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
volumes:
- /home/nacos/logs:/home/nacos/logs
ports:
- "8848:8848"
- "9848:9848"
network_mode: "host"
上次更新: 11/11/2022