日常bb 日常bb
首页
文章
笔记
冥思
其他
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

日常bb

想起来全是问题,做起来才有答案。
首页
文章
笔记
冥思
其他
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Java

  • Redis

  • Spring

  • 工具

  • 概念

  • 容器

    • Nacos容器化
      • 官网资料
      • 自定义
        • Dockerfile
        • config
        • 构建
        • docker-compose
  • 实战

  • 文章
  • 容器
rcbb
2022-11-11
目录

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文件的内容:

  1. NACOS_VERSION该为自己要使用的版本;

ARG NACOS_VERSION=2.0.4

  1. 将自己打好的包放到build文件夹中。

COPY nacos-server-2.0.4.tar.gz /home

  1. 删除从网络获取的命令。

Dockerfile

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"

#Docker#容器#docker-compose
上次更新: 11/11/2022
SaaS、PaaS、IaaS的区别
Sign in with Apple(苹果授权登陆)

← SaaS、PaaS、IaaS的区别 Sign in with Apple(苹果授权登陆)→

最近更新
01
Sign in with Apple(苹果授权登陆)
12-29
02
好用的截图工具
11-10
03
使用PicGo上传图片到自己的图床
11-10
更多文章>
Theme by Vdoing | Copyright © 2021-2022 日常bb | 鄂ICP备17023998号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式