3.重起服務:systemctl restart docker
容器視覺化:portainer
建立資料卷:
為什麼使用資料卷:
1.docker的映象是由多個唯讀的檔案系統疊加在一起形成的。當我們在我啟動乙個容器的時候,docker會載入這些唯讀層並在這些唯讀層的上面(棧頂)增加乙個讀寫層。這時如果修改正在執行的容器中已有的檔案,那麼這個檔案將會從唯讀層複製到讀寫層。該檔案的唯讀版本還在,只是被上面讀寫層的該檔案的副本隱藏。當刪除docker,或者重新啟動時,之前的更改將會消失。在docker中,唯讀層及在頂部的讀寫層的組合被稱為union file system(聯合檔案系統)。
2.為了很好的實現資料儲存和資料共享,docker提出了volume這個概念,簡單的說就是繞過預設的聯合檔案系統,而以正常的檔案或者目錄的形式存在於宿主機上。又被稱作資料卷。
volume的作用:
通過資料卷可以在容器之間實現共享和重用
對資料卷的修改會立馬生效(非常適合作為開發環境)
對資料卷的更新,不會影響映象
捲會一直存在,直到沒有容器使用
docker volume create protainer_data
構建portainer容器
docker run -d -p 9091:9000 -v /var/run/docker.sock:/var/run/docker.sock -v protainer_data:/data portainer/portainer
檢視資料卷:docker volume ls
建立容器
建立容器時關聯其他容器(如nginx關聯其他的tomcat)的幾種方法
1.在建立時給定ip+埠
2.在建立時給定埠(ip會自動分配)
3.在建立時給定別名 (在docker run 命令加入 --link 要訪問的容器名字:容器的別名 示列如下:)
docker run -d -p 80:80 --restart=always --name nginx --link tomcat:tomcat1 kgc/centos7-ssh-tengine"
以下內容為了自己:
執行指令碼建立映象:./init-image.sh all n
執行指令碼建立容器:./init-container.sh init
配置日誌收集系統 elk
需求背景:
業務發展越來越龐大,伺服器越來越多
各種訪問日誌、應用日誌、錯誤日誌量越來越多,導致運維人員無法很好的去管理日誌
開發人員排查問題,需要到伺服器上查日誌,不方便
運營人員需要一些資料,需要我們運維到伺服器上分析日誌
為什麼要用到elk:
1.一般我們需要進行日誌分析場景:直接在日誌檔案中 grep、awk 就可以獲得自己想要的資訊。但在規模較大也就是日誌量多而複雜的場景中,此方法效率低下,面臨問題包括日誌量太大如何歸檔、文字搜尋太慢怎麼辦、如何多維度查詢。需要集中化的日誌管理,所有伺服器上的日誌收集彙總。常見解決思路是建立集中式日誌收集系統,將所有節點上的日誌統一收集,管理,訪問。
2。大型系統通常都是乙個分布式部署的架構,不同的服務模組部署在不同的伺服器上,問題出現時,大部分情況需要根據問題暴露的關鍵資訊,定位到具體的伺服器和服務模組,構建一套集中式日誌系統,可以提高定位問題的效率。
3.乙個完整的集中式日誌系統,需要包含以下幾個主要特點:
收集-能夠採集多種**的日誌資料
傳輸-能夠穩定的把日誌資料傳輸到**系統
儲存-如何儲存日誌資料
分析-可以支援 ui 分析
警告-能夠提供錯誤報告,監控機制
而elk則提供了一整套解決方案,並且都是開源軟體,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用。是目前主流的一種日誌系統。
elk簡介:
elk是三個開源軟體的縮寫,分別為:
elasticsearch 、 logstash以及kibana , 它們都是開源軟體。不過現在還新增了乙個beats,它是乙個輕量級的日誌收集處理工具(agent),beats占用資源少,適合於在各個伺服器上蒐集日誌後傳輸給logstash,官方也推薦此工具,目前由於原本的elk stack成員中加入了 beats 工具所以已改名為elastic stack。
elastic stack包含:
elasticsearch是個開源分布式搜尋引擎,提供蒐集、分析、儲存資料三大功能。它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等。詳細可參考elasticsearch權威指南
logstash 主要是用來日誌的蒐集、分析、過濾日誌的工具,支援大量的資料獲取方式。一般工作方式為c/s架構,client端安裝在需要收集日誌的主機上,server端負責將收到的各節點日誌進行過濾、修改等操作在一併發往elasticsearch上去。
kibana 也是乙個開源和免費的工具,kibana可以為 logstash 和 elasticsearch 提供的日誌分析友好的 web 介面,可以幫助彙總、分析和搜尋重要資料日誌。
beats在這裡是乙個輕量級日誌採集器,其實beats家族有6個成員,早期的elk架構中使用logstash收集、解析日誌,但是logstash對記憶體、cpu、io等資源消耗比較高。相比 logstash,beats所佔系統的cpu和記憶體幾乎可以忽略不計
以下內容為自己記憶:
建立映象前,要進入到elk+kafka目錄
##建立elasticsearch映象
docker build -t elasticsearch elasticsearch
##建立kibana映象
docker build -t kibana kibana
##建立kafka映象
docker build -t kafka kafka
##建立logstash映象
docker build -t logstash logstash
##建立kafka容器
docker run -d --name kafka -p 9092:9092 kafka
##建立elasticsearch容器
docker run -d --name elasticsearch -p 9200:9200 elasticsearch
##建立kibana容器
docker run -d -it --name kibana -p 5601:5601 --link elasticsearch:elasticsearch kibana (es的視覺化工具,來檢視es資料)
##建立logstash容器
docker run -d -it --name logstash --link elasticsearch:elasticsearch --link kafka:kafka logstash (link kafka:kafka 容器的名稱:容器的別名)
services
services:
#服務名稱1
discovery-eureka1:
#服務名稱2
discovery-eureka2:
build(構建映象)
services:
discovery-eureka1:
build: /home/px2/tools/dm/dm-discovery-eureka
ports(對映埠)
services:
discovery-eureka1:
ports:
- "7776:7776"
networks(指定網路 網路需要提前建立好)
networks:
default:
external:
name: envdm
mem_limit(指定docker容器的記憶體大小)
services:
discovery-eureka1:
mem_limit: 512m
docker-compose常用命令
構建映象:docker-compose build 服務名稱
構建並啟動容器:docker-compose up -d 服務名稱
停止並銷毀容器:docker-compose down 服務名稱
注意:命令後沒有具體的服務名稱,則命令針對docker-compose.yml中定義的所有服務容器生效,命令後有具體的服務名稱,則只針對對應的服務容器生效
配置好的容易提交為乙個新的映象:
docker commit :從容器建立乙個新的映象
docker commit [options] container [repository[:tag]]
-a :提交的映象作者;
-c :使用dockerfile指令來建立映象;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
例: docker commit -a "wangshibo" -m "this is test" 容器id 新的映象名稱:v1
提公升自己的空間
1.最好的攢錢方式是增加自己的知識儲備,讓自己公升值。2.如果僅僅把廚師看成職業,那只是找到了乙個謀生的手段而已 而只有以老闆的心態做事,那才是做事業。3.乙個人的胸懷有多大,他的事業就有多大,如果僅看到鍋灶那麼大的視野,他也只能算是個蹩腳的廚師。4.把別人玩樂的時間都用在看書上。把自己的工資基本上...
提公升自己的法寶
所謂積極主動就是採取主動,這並不代表著魯莽,肆意妄為,而是在對自己,對所做的事情有了一定的了解後主動採取正當的措施去進行努力爭取。當我們對某些事情有了一定的興趣,想要去做的時候。我們一定要記住以結局成功為動力,為開始的條件,這個是建立在有實際的基礎上的。不要被事情所左右,學會自我領導,不僅僅要在腦子...
我會努力提公升自己
暑假留校實習也有一陣子了,跟著老師和同學一起創業的日子是快樂的,我們一起工作,一起生活,快樂的有些飄飄然了,人就是這樣,太快樂就會浮躁,然後忘了自己的初衷。就像溫水煮青蛙,當自己突然醒悟,那一切都晚了。今天是進公司的第二次匯報了,我的工作做乙個會議檔案的系統管理,起初認為只要完成了指定的功能就ok了...