日韩性视频-久久久蜜桃-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集群开始学习...的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 午夜99 | 亚洲国产小视频 | www.xxx国产| 日韩中出在线 | 顶级黑人搡bbw搡bbbb搡 | 中文字幕精品视频在线观看 | 91久久久久久久久久久久 | 天天曰天天操 | www黄色片| 特级av| 538在线精品视频 | 国产传媒在线观看 | 国产视频不卡一区 | 哺乳期喷奶水丰满少妇 | 亚洲精品无码久久久久 | 日本老少交| 超碰免费公开 | 肉番在线观看 | 屁屁影院国产第一页 | av在线不卡观看 | 日韩精品免费一区二区夜夜嗨 | 在线看www | 久草国产精品 | 色超碰| 亚洲蜜桃精久久久久久久久久久久 | 鲁一鲁一鲁一鲁一av | 69视频一区二区三区 | 午夜免费一区 | 精品久久久久久亚洲综合网站 | 原来神马电影免费高清完整版动漫 | 老司机福利院 | jvid乐乐 | 国产又爽又黄又嫩又猛又粗 | 亚洲男人第一av | 免费一级一片 | 激情综合五月网 | 女人18片毛片60分钟 | 久久伊 | 成年人在线观看网站 | 色综合中文网 | 91精品人妻互换一区二区 | 办公室大战高跟丝袜秘书经理ol | 爱草av | 污视频网站入口 | 精品字幕 | 亚洲在线精品视频 | 欧美日韩精品 | 亚洲色域网 | 波多野结衣一区二区三区四区 | 69精品久久久久久久 | 中文字幕一区二区久久人妻网站 | 精品日韩制服无码久久久久久 | 粉嫩在线| 美女av免费在线观看 | 国产男女精品 | 91中文在线 | 国产 福利 在线 | 国产精品欧美日韩 | 在线不卡一区 | 国产精品自拍第一页 | 短篇山村男同肉耽h | 伊人院| 狠狠干2017 | 91精品久久久久久 | 奇米精品一区二区三区四区 | 久久久久久午夜 | 久操久热 | 亚洲一区在线不卡 | 中文字幕国产在线 | 精品人人妻人人澡人人爽牛牛 | av剧情在线 | 香蕉私人影院 | 欧美一区二区在线视频观看 | 色偷偷一区二区三区 | 日本一区二区三区视频在线播放 | 自拍偷拍福利视频 | 国产无遮挡又黄又爽又色 | 天天操网址 | 911成人网 | 国产豆花视频 | 老子午夜影院 | 久久久久久久久99精品 | 久久露脸国语精品国产 | 精品自拍视频在线观看 | 男女吻胸做爰摸下身 | 鲁啊鲁在线视频 | 91操操 | 国产成人无码精品亚洲 | 91精品国产乱码久久久久久久久 | 国产成人短视频在线观看 | 懂色av一区二区三区免费 | 国产sm调教一区二区 | 欧美一级爱爱视频 | 夜夜干夜夜 | 亚洲福利视频一区二区三区 | 欧美一级黄色片网站 | 97在线观看免费高清 | 人妻一区二区三区四区 | 欧美日韩中字 |