本文描述的是使用Docker來(lái)安裝我們常用的一些服務(wù),以下示例都是作者自己在用的,質(zhì)量有保證。
至于為什么使用Docker,因?yàn)榉奖悖恍枰螺d、配置亂七八糟的,
1. Docker容器間的連接或通信方式
安裝常見(jiàn)服務(wù)之前先討論下Docker容器間的連接或通信方式。隨著安裝的Docker容器越來(lái)越多,會(huì)發(fā)現(xiàn)存在一些復(fù)雜的場(chǎng)景,需要容器間的相互通信來(lái)為程序服務(wù),而不僅僅是宿主機(jī)與容器的通信。如:容器(Nacos、MySQL)來(lái)一起為程序(Spring Boot)服務(wù),Nacos提供注冊(cè)中心和配置中心服務(wù),MySQL提供Nacos文件持久化服務(wù),這時(shí)就需要Nacos與MySQL通信。
容器之間通信不能用 localhost
、127.0.0.1
,因?yàn)榇藭r(shí) localhost
指的是容器本身而不是主機(jī),只能用主機(jī)的 ip:port
通信,但是主機(jī)的 ip 地址會(huì)隨著主機(jī)的重啟而變化,所以通過(guò) -p
暴露端口的方式不適合容器與容器之間的通信。
先給出結(jié)論:
-
配置
-p
選項(xiàng)讓宿主機(jī)和容器之間通過(guò)暴露端口
來(lái)通信 -
配置
--network
選項(xiàng)讓容器加入同一個(gè)網(wǎng)絡(luò),加入同一個(gè)網(wǎng)絡(luò)后就可通過(guò)容器名稱(chēng)來(lái)通信。
推薦新建的容器 -p
和 --network
都配置。具體的方法參考:Docker容器間的連接或通信方式
2. Docker常見(jiàn)服務(wù)的安裝
2.1. Docker安裝MySQL
MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。
Docker一鍵安裝MySQL服務(wù),Docker安裝MySQL服務(wù)
2.2. Docker安裝Redis
Redis中的數(shù)據(jù)對(duì)于開(kāi)發(fā)和測(cè)試來(lái)說(shuō),其實(shí)不是很重要,那就不做掛載了直接啟動(dòng)!
# Docker啟動(dòng)Redis
docker run -d --name redis -p 6379:6379 redis:7
# 進(jìn)入Redis命令控制臺(tái)(指定容器id或名稱(chēng)也可以)
docker exec -it redis
2.3. Docker安裝RabbitMQ
docker run --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
- 訪問(wèn)地址查看是否安裝成功:http://localhost:15672
- 輸入賬號(hào)密碼并登錄:guest guest
2.4. Docker安裝Elasticsearch
Elaticsearch,簡(jiǎn)稱(chēng)為es, es是一個(gè)開(kāi)源的高擴(kuò)展的分布式全文檢索引擎,它可以近乎實(shí)時(shí)的存儲(chǔ)、檢索數(shù)據(jù);本身擴(kuò)展性很好,可以擴(kuò)展到上百臺(tái)服務(wù)器,處理PB級(jí)別的數(shù)據(jù)。es也使用Java開(kāi)發(fā)并使用Lucene作為其核心來(lái)實(shí)現(xiàn)所有索引和搜索的功能,但是它的目的是通過(guò)簡(jiǎn)單的RESTful API來(lái)隱藏Lucene的復(fù)雜性,從而讓全文搜索變得簡(jiǎn)單。
安裝Elasticsearch最重要的就是確定Elasticsearch的版本!Docker安裝Elasticsearch的正確方式,Docker安裝Elasticsearch服務(wù)
2.5. Docker單獨(dú)安裝Zipkin
Zipkin是Twitter的一個(gè)開(kāi)源項(xiàng)目,可以用來(lái)獲取和分析Spring Cloud Sleuth中產(chǎn)生的請(qǐng)求鏈路跟蹤日志,它提供了Web界面來(lái)幫助我們直觀地查看請(qǐng)求鏈路跟蹤信息。常用語(yǔ)微服務(wù)的調(diào)用鏈路跟蹤。
Zipkin的數(shù)據(jù)保存在內(nèi)存中重啟后數(shù)據(jù)會(huì)消失,如果需要保存可以整合Elasticsearch
# 單獨(dú)安裝zipkin
docker run -d --name zipkin -p 9411:9411 openzipkin/zipkin
- Zipkin頁(yè)面訪問(wèn)地址:http://localhost:9411
2.6. Elasticsearch+Kibana整合
Kibana是一款適用于Elasticsearch的數(shù)據(jù)可視化和管理工具,可以提供實(shí)時(shí)的直方圖、線形圖、餅狀圖和地圖。支持用戶(hù)安全權(quán)限體系,支持各種緯度的插件,通常搭配Elasticsearch、Logstash一起使用。
kibana 的版本最好與 elasticsearch 保持一致,避免發(fā)生不必要的錯(cuò)誤,Docker安裝Kibana服務(wù)的正確方式,Docker安裝Kibana服務(wù)
2.7. Zipkin+Elasticsearch+Kibana整合
涉及到3個(gè)組件,它們的過(guò)程是這樣的:Spring Cloud微服務(wù)把調(diào)用鏈路的日志發(fā)送給Zipkin,Zipkin把數(shù)據(jù)發(fā)送給Elasticsearch進(jìn)行保存,Kibana圖形化顯示Elasticsearch的數(shù)據(jù)。
用Docker整合3個(gè)組件參考,Docker+Zipkin+Elasticsearch+Kibana部署分布式鏈路追蹤
2.8. Docker安裝Consul
Consul是HashiCorp公司推出的開(kāi)源軟件,提供了微服務(wù)系統(tǒng)中的服務(wù)治理、配置中心、控制總線等功能。這些功能中的每一個(gè)都可以根據(jù)需要單獨(dú)使用,也可以一起使用以構(gòu)建全方位的服務(wù)網(wǎng)格,總之Consul提供了一種完整的服務(wù)網(wǎng)格解決方案。
Docker下安裝Consul參考,Docker安裝Consul
2.9. Nacos+MySQL整合
Nacos是Alibaba開(kāi)源的微服務(wù)組件,主要提供服務(wù)注冊(cè)與發(fā)現(xiàn)、配置中心等功能。
可以單獨(dú)使用,也可以與MySQL搭配使用,可參考,手把手教你Docker搭建nacos單機(jī)版
2.10. Docker安裝Oracle11g
2.11. Docker安裝Oracle12c
參考:https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance
oracle數(shù)據(jù)的官方鏡像:https://hub.docker.com/_/oracle-database-enterprise-edition(需要登錄注冊(cè)等認(rèn)證)
3. 參考資料
docker elastic 官方網(wǎng)址:https://www.docker.elastic.co
docker elastic 官方鏡像:https://www.elastic.co/guide/en/enterprise-search/current/docker.html#docker-image
Docker 官方倉(cāng)庫(kù):https://hub.docker.com
我的文章:《如何查看一個(gè)Docker鏡像有哪些版本.md》
我的文章:《Docker設(shè)置國(guó)內(nèi)鏡像源.md》
我的文章:《Docker快速入門(mén)實(shí)用教程.md》
我的文章:《Docker安裝MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常見(jiàn)服務(wù).md》
我的文章:《Docker安裝Nacos服務(wù).md》
我的文章:《如何修改Docker中的文件.md》
我的文章:《Docker容器間的連接或通信方式.md》
我的文章:《Docker安裝的MySQL如何持久化數(shù)據(jù)庫(kù)數(shù)據(jù).md》
我的文章:《制作Docker私有倉(cāng)庫(kù).md》
我的文章:《使用docker-maven-plugin插件構(gòu)建發(fā)布推鏡像到私有倉(cāng)庫(kù).md》
我的文章:《解決Docker安裝Elasticsearch后訪問(wèn)9200端口失敗.md》
傳送門(mén):保姆式Spring5源碼解析
歡迎與作者一起交流技術(shù)和工作生活文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-615078.html
聯(lián)系作者文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-615078.html
到了這里,關(guān)于【Docker】Docker安裝MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常見(jiàn)服務(wù)(質(zhì)量有保證,詳情講解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!