日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker 添加端口映射_苟且偷生的程序猿没法摸鱼了,从docker搭建elasticsearch集群开始学习...

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 添加端口映射_苟且偷生的程序猿没法摸鱼了,从docker搭建elasticsearch集群开始学习... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近剛換了公司,然后公司剛好使用的docker。而本人作為一個石錘的搬磚員,之前只知道搬磚們,對于這些東西確實沒學過。今天在本地使用docker搭建elasticsearch集群,記錄下過程,而且elasticsearch也是本人之前沒學過的,最近會先學習elasticsearch使用,同時熟悉docker的使用。

docker安裝

本人實在win10系統,所以安裝的是Docker for Windows Installer

下載:鏈接:https://pan.baidu.com/s/13Gxzi-0gDqflnVRaUD0uGg 提取碼:8xqh

關于docker的使用這里就不詳細說了,因為網上確實有很多相關的文章。

準備工作

  • docker拉取elasticsearch鏡像image
docker search elasticsearch # 查找鏡像

docker pull elasticsearch # 拉取鏡像,可以指定版本,如果沒有指定,則默認版本

對于拉下來的elasticsearch,我們需要檢查它的版本,因為最新的7.x的版本配置和之前的集群配置不一樣,所以我們需要看下是哪個版本

docker images # 列出所以已經拉取的鏡像列表

docker inspect 5acf0e8da90b # 通過inspect命令可以查看對應鏡像的信息
  • 本地創建集群的data和logs目錄,以及config目錄,會掛載到docker容器,這樣容器就能共享宿主機文件
|--es-cluster | |--docker-compose.yml docker-compose組件方式運行文件 | |--config 節點配置文件 | |--es01/elasticsearch.yml | |--es02/elasticsearch.yml | |--es03/elasticsearch.yml | |--data | |--es01 | |--es02 | |--es03 | |--logs | |--es01 | |--es02 | |--es03

安裝elasticsearch集群

安裝es集群,這里我們通過docker-compose的方式進行安裝。

Compose 是用于定義和運行多容器 Docker 應用程序的工具。通過 Compose,您可以使用 YML 文件來配置應用程序需要的所有服務。然后,使用一個命令,就可以從 YML 文件配置中創建并啟動所有服務。

一般情況下Compose 使用的三個步驟:

1-使用 Dockerfile 定義應用程序的環境。(定制鏡像) 2-使用 docker-compose.yml 定義構成應用程序的服務,這樣它們可以在隔離環境中一起運行。 3-最后,執行 docker-compose up 命令來啟動并運行整個應用程序。
  • 創建自定義bridge網絡

Docker容器之間需要通信,所以需要知道他們的ip是什么,并且是在es的配置文件中進行配置,說明需要固定的ip,每次啟動都一樣,不能是動態。所以這里就自定義網絡,然后啟動的時候對三個節點指定固定的ip。

創建自定義網絡esnet

# 該命令進行創建一個自定義的network docker network create --driver bridge --subnet=172.19.0.0/16 --gateway=172.19.0.1 esnet--driver bridge # 指定網絡模式為bridge,默認會在主機上創建一個docker0虛擬網橋 --subnet=172.19.0.0/16 # --subnet選項創建自定義子網并覆蓋默認值 --gateway=172.19.0.1 # 自定義網關

這里需要注意:

我們在宿主機使用ping去查看能否ping同你自定義的網絡ip,比如

ping 172.19.0.1

如果ping不同,我們可以在宿主機使用route添加路由處理,win10系統添加route操作是需要管理員權限下才可以

route add -p 172.19.0.0 mask 255.255.0.0 10.0.75.2

當然,你只要暴露了端口,宿主機ping不通容器的ip,也是可以訪問的。

  • 使用 docker-compose.yml 定義構成應用程序的服務
# 指定本 yml 依從的 compose 哪個版本制定的。 version: '3'# 容器使用 esnet 網絡 networks:default:external:name: esnet# yaml 配置實例 services: # es01 節點es01:# 指定容器運行的鏡像image: 5acf0e8da90b# 容器名稱container_name: es01# 容器總是重新啟動restart: always# 添加環境變量environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m"# 覆蓋容器默認的 ulimit,設置容器的 limitulimits:memlock:soft: -1hard: -1# 將主機的數據卷或著文件掛載到容器里volumes:- ./data/es01:/usr/share/elasticsearch/data- ./config/es01/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./logs/es01:/usr/share/elasticsearch/logs# 端口映射ports:- 9200:9200- 9300:9300# 指定ipnetworks:default:ipv4_address: 172.19.0.2# 允許容器中運行一些特權命令privileged: true# es02 節點es02:# 指定容器運行的鏡像image: 5acf0e8da90b# 容器名稱container_name: es02# 容器總是重新啟動restart: always# 添加環境變量environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m"# 覆蓋容器默認的 ulimit,設置容器的 limitulimits:memlock:soft: -1hard: -1# 將主機的數據卷或著文件掛載到容器里volumes:- ./data/es02:/usr/share/elasticsearch/data- ./config/es02/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./logs/es02:/usr/share/elasticsearch/logs# 端口映射ports:- 9400:9200- 9500:9300# 指定ipnetworks:default:ipv4_address: 172.19.0.3# 允許容器中運行一些特權命令privileged: true# es03 節點es03:# 指定容器運行的鏡像image: 5acf0e8da90b# 容器名稱container_name: es03# 容器總是重新啟動restart: always# 添加環境變量environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m"# 覆蓋容器默認的 ulimit,設置容器的 limitulimits:memlock:soft: -1hard: -1# 將主機的數據卷或著文件掛載到容器里volumes:- ./data/es03:/usr/share/elasticsearch/data- ./config/es03/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./logs/es03:/usr/share/elasticsearch/logs# 端口映射ports:- 9600:9200- 9700:9300# 指定ipnetworks:default:ipv4_address: 172.19.0.4# 允許容器中運行一些特權命令privileged: true

compose的yml文件我基本上已經注釋了。上面設置了三個容器,基本上已經注釋了,一看就明白。

networks 網絡配置,文件中在三個容器的最前面已經配置了容器使用的自定義網絡esnet,然后再容器內部配置ipv4_address固定容器ip

volumes 配置掛載,相當于docker中 -v 命令,使得容器能夠共享宿主機的文件

ports 端口映射,前面是宿主機的端口映射到容器的端口

  • es集群配置文件elasticsearch.yml

三個es節點的配置差不多,這里我之展示一個es01節點的配置

# ======================== Elasticsearch Configuration =========================# ---------------------------------- Cluster ----------------------------------- # 指定集群的名字 cluster.name: es-cluster # 手動指定可以成為 mater 的所有節點的 name 或者 ip,這些配置將會在第一次選舉中進行計算,第一次啟動全新的Elasticsearch集群時,會有一個集群引導 # cluster.initial_master_nodes: ["es01"]# ------------------------------------ Node ------------------------------------ # 給master起一個名稱 node.name: es01 # 該節點就得到允許,可以成為master節點 node.master: true# ----------------------------------- Paths ------------------------------------ # 數據存儲 path.data: /usr/share/elasticsearch/data# 日志存儲 path.logs: /usr/share/elasticsearch/logs# ----------------------------------- Memory ----------------------------------- # 綁定的ip地址和默認端口號9200 network.host: 172.19.0.2# 端口9200 默認端口也是9200 http.port: 9200# TCP的默認監聽端口,默認 9300,節點內部通信port transport.tcp.port: 9300# 允許跨域配置 http.cors.enabled: true http.cors.allow-origin: "*"# --------------------------------- Discovery ----------------------------------# es7.x 之后的集群配置方式# 寫入候選主節點的設備地址,在開啟服務后可以被選為主節點 #discovery.seed_hosts: ["172.19.0.2:9300", "172.19.0.3:9300", "172.19.0.4:9300"]# 指定master主節點,用來初始化主節點作為引導集群.啟動全新的集群時需要此參數,再次重新啟動時此參數可免 # cluster.initial_master_nodes: ["es01","es02","es03"]# es7.x 之前的集群配置方式# 設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點。 discovery.zen.ping.unicast.hosts: ["172.19.0.2:9300", "172.19.0.3:9300", "172.19.0.4:9300"]

注意這里我們前面鏡像的版本是5.6的,所以不可以使用7.x之后的一些配置否則es啟動報錯。

三個節點情況,使用esnet網絡,網段是172.19.0.0/16

es01: ip=172.19.0.2 端口映射=9200:9200、9300:9300 es02: ip=172.19.0.3 端口映射=9400:9200、9500:9300 es03: ip=172.19.0.4 端口映射=9600:9200、9700:9300
  • 使用 docker Compose 命令構建和運行應用
docker up -d # 構建,想在后臺執行該服務可以加上 -d 參數

以上命令需要在你的docker-compose.yml文件所在位置執行,否則會提示找不到docker-compose.yml命令等信息。

最后你可以通過docker/docker-compose命令查看容器信息

可以查看log,使用命令

dockers-compose logs 容器名稱 docker logs 容器id

最后通過映射端口訪問一下:

總結

以上是生活随笔為你收集整理的docker 添加端口映射_苟且偷生的程序猿没法摸鱼了,从docker搭建elasticsearch集群开始学习...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产美女www爽爽爽视频 | 男女那个视频 | 黄色电影在线视频 | xxxxhdvideos| 亚洲自拍偷拍图 | 色综合久久综合 | 久久久久亚洲av无码网站 | 99中文字幕 | 99久久九九 | 成人毛片a| 欧美国产精品久久 | 97视频一区二区 | 成人国产精品久久 | 亚洲人体av | 亚洲色图欧美在线 | 欧美黄色精品 | 亚洲大胆视频 | 激情瑟瑟 | 76少妇精品导航 | 亚洲理伦电影 | 亚洲精品影院在线 | 韩日毛片| 日韩一区二区三免费高清在线观看 | 欧美精品123区 | 久久成人av | 456av| 亚洲国产成人综合 | 两个人看的www视频免费完整版 | 不用播放器看av | 久久婷婷影视 | 亚洲熟乱 | 四虎影院在线免费播放 | 最新av观看 | 欧美黑人做爰爽爽爽 | 香蕉视频在线播放 | 免费观看日本 | 国产a精品 | 婷婷六月综合网 | 人妻熟女一区 | www免费网站在线观看 | 亚洲ⅴ国产v天堂a无码二区 | 麻豆影视免费观看 | 少妇色欲网 | av资源导航| 中文字幕在线视频免费 | 精品人妻一区二区三区三区四区 | 好av| 日本xx视频免费观看 | 久久久久99精品成人片三人毛片 | 国产视频第一区 | 97视频在线免费观看 | 久久久久无码国产精品一区 | 91黄瓜视频| 亚洲欧美一区二区三区四区 | 欧美日韩国产精品一区二区三区 | 亚洲拍拍| 精品乱人伦一区二区三区 | 国产一区二区三区四区三区四 | 欧美1区2区 | 国产精品无码在线 | 久久黄色网址 | 白丝少妇| 成人欧美性 | 你懂的91| 国产精品边吃奶边做爽 | 91精品国产综合久久香蕉922 | 看片久久| 99热99热 | 国产精品久久久久久久久绿色 | 欧美黄色a | 欧美激情天堂 | www国产在线观看 | 亚洲欧美少妇 | av大片在线播放 | 深夜福利网址 | 久久国产精品网站 | 国产性生活毛片 | 偷拍青青草| 玉足女爽爽91 | 国产福利一区二区三区 | 香蕉视频2020 | 日韩av首页| 手机电影在线观看 | 欧美熟妇另类久久久久久不卡 | 亚洲看片网 | 91成人免费在线观看视频 | 国产色无码精品视频国产 | 亚洲精品电影网 | 亚洲精品大片 | 国内自拍视频在线播放 | 91久久久国产精品 | 午夜三级av | 91亚洲综合 | 成人在线观看一区二区 | 99久久久无码国产精品衣服 | 国产精品夜色一区二区三区 | 精品国产青草久久久久96 | 久久久久久夜 | 精品国产aⅴ一区二区三区东京热 |