当前位置: 首页 > article >正文

docker自定义镜像并使用

写在前面

本文看下如何自定义镜像。

ik包从这里 下载。

1:自定义带有ik的es镜像

先看下目录结构:

/opt/program/mychinese
[root@localhost mychinese]# ll
total 16
-rw-r--r-- 1 root root 1153 Feb  5 04:18 docker-compose.yaml
-rw-rw-r-- 1 elk  elk   291 Feb  5 04:17 Dockerfile
drwxr-xr-x 3 root root  243 Feb  5 03:27 ik710

ik710目录就是ik的解压内容,后续回安装到es,直接拷贝到es的plugins目录就行。

Dockerfile内容:

FROM docker.elastic.co/elasticsearch/elasticsearch:7.1.0
RUN mkdir /usr/share/elasticsearch/plugins/ik710
#RUN cd /usr/share/elasticsearch/plugins/ik710
ADD ik710 /usr/share/elasticsearch/plugins/ik710
# CMD echo "es will start!!!"
# CMD ["/usr/share/elasticsearch/bin/elasticsearch", "-d"]

接着就可以构建镜像了:

docker build -t mychinese:1.2 .

[root@localhost mychinese]# docker images
REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
mychinese                                       1.2                 d0aec608ff4f        12 minutes ago      904 MB
...

接着就可以使用docker-compose 启动了,内容如下:

version: '2.2'
services:
  elasticsearch:
    image: mychinese:1.2
    container_name: es7_011
    environment:
      - cluster.name=geektime
      - node.name=es7_011
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_011,es7_012
      - cluster.initial_master_nodes=es7_011,es7_012
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data1:/usr/share/elasticsearch/data
    ports:
      - 9220:9200
    networks:
      - es7net
  elasticsearch2:
    image: mychinese:1.2
    container_name: es7_012
    environment:
      - cluster.name=geektime
      - node.name=es7_012
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_011,es7_012
      - cluster.initial_master_nodes=es7_011,es7_012
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data2:/usr/share/elasticsearch/data
    networks:
      - es7net


volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local

networks:
  es7net:
    driver: bridge

启动:

[root@localhost mychinese]# docker-compose up 
Creating es7_011 ... done
Creating es7_012 ... done
Attaching to es7_012, es7_011
es7_011           | {"type": "server", "timestamp": "2024-02-05T09:32:29,486+0000", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "geektime", "node.name": "es7_011",  "message": "loaded plugin [analysis-ik]"  } # 这里可以看到加载analysis-ik插件了
...

查看:
在这里插入图片描述


http://www.kler.cn/a/229429.html

相关文章:

  • 【STM32】HAL库USB实现软件升级DFU的功能操作及配置
  • 2025年中科院分区大类划分公布!新增8155本
  • Unity的四种数据持久化方式
  • Node.js - HTTP
  • 【绝对无坑】Mongodb获取集合的字段以及数据类型信息
  • 【C语言】字符串函数详解
  • Node.js+Express+Mysql服务添加环境变量
  • git 的基本概念
  • KY114 Coincidence
  • Unity接入GVoice腾讯实时语音
  • 【安卓跨程序共享数据,探究ContentProvider】
  • 动态规划01 三步问题[C++]
  • HarmonyOS鸿蒙ArkTS证件照生成模板(适合二次开发,全套源码版)
  • 正点原子-STM32通用定时器学习笔记(1)
  • 防范恶意勒索攻击!亚信安全发布《勒索家族和勒索事件监控报告》
  • 深度学习(12)--Mnist分类任务
  • 阿里云游戏服务器租用费用价格组成,费用详单
  • 跟着pink老师前端入门教程-day17
  • linker list
  • 计组学习笔记2024/2/5
  • 线上编程答疑解惑回顾,初学编程中文编程在线屏幕共享演示
  • 深度学习本科课程 实验1 Pytorch基本操作
  • Linux笔记之bash脚本中的$符号
  • SpringBoot 拦截器Intercepto的创建与基本使用
  • 【C语言不能不会的操作】调试-万字详解【windows操作系统下】(会写bug还会调试解决bug的程序员简直帅呆了,赶紧点赞收藏)
  • 【ESP32+Python】WIFI连接包括固定账号密码+选择WIFI在输入密码