亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker搭建Skywalking的實(shí)現(xiàn)示例

 更新時間:2025年02月08日 09:16:10   作者:Dolphin_Home  
本文主要介紹了Docker搭建Skywalking的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Docker搭建Skywalking

  • 虛擬機(jī)IP192.168.0.109
  • Nacos服務(wù)地址http://192.168.0.109:8848/nacos
  • MySQL服務(wù)
    • IP:192.168.0.109
    • 端口:3306
    • 用戶名:root
    • 密碼:root
  • ElasticSearch服務(wù):
    • IP:192.168.0.109
    • 端口:9200
    • 用戶名:elastic
    • 密碼:123456
    • 容器使用的Docker網(wǎng)絡(luò):docker network create elastic-net
    • 容器名稱: elasticsearch
  • Kibana服務(wù):
    • IP:192.168.0.109
    • 端口:5601
    • 用戶名:elastic
    • 密碼:123456
    • 測試地址:http://192.168.0.109:5601

準(zhǔn)備工作

  • 先準(zhǔn)備配置目錄和持久化目錄,舉個栗子:mkdir -p /opt/module/skywalking/{config,data,logs}
  • 解決 SkyWalking 容器 Permission denied(權(quán)限被拒絕)的錯誤,chmod -R 777 /opt/module/skywalking

拉取官方Skywalking鏡像

# 拉取 OAP 服務(wù)鏡像
docker pull apache/skywalking-oap-server:8.9.0

# 拉取 UI 服務(wù)鏡像
docker pull apache/skywalking-ui:8.9.0
  • 注意:oap版本和agent版本需要適配,版本不適配可能會出現(xiàn)頁面無法訪問、agent上報不到頁面等問題。

部署 SkyWalking OAP 服務(wù)器

0. 啟動臨時容器【通過創(chuàng)建一個臨時的測試容器來復(fù)制配置文件,反推配置】

docker run \
  -d -p 11800:11800 -p 12800:12800  \
  --name skywalking-oap \
  --restart always \
  apache/skywalking-oap-server:8.9.0

說明

  • 11800:OAP 服務(wù)端口。
  • 12800:SkyWalking UI 服務(wù)端口。
  • --restart always:容器自動重啟策略。

目錄結(jié)構(gòu)說明

路徑說明
/skywalking/config配置文件目錄
/skywalking/logs日志文件目錄
/skywalking/data數(shù)據(jù)存儲目錄

復(fù)制 SkyWalking 配置文件到宿主機(jī)

docker cp skywalking-oap:/skywalking/config     /opt/module/skywalking
docker cp skywalking-oap:/skywalking/logs       /opt/module/skywalking
docker cp skywalking-oap:/skywalking/data       /opt/module/skywalking

# 如果需要導(dǎo)出所有文件
docker cp skywalking-oap:/skywalking     /opt/module

移除臨時容器

docker stop skywalking-oap
docker rm skywalking-oap

1. 使用默認(rèn)存儲(H2 數(shù)據(jù)庫)

啟動 SkyWalking OAP 容器,使用 H2 數(shù)據(jù)庫作為存儲:

docker run \
  -d -p 11800:11800 -p 12800:12800  \
  --name skywalking-oap \
  --restart always \
  apache/skywalking-oap-server:8.9.0

說明:如果不指定存儲類型,默認(rèn)使用 H2 數(shù)據(jù)庫。

容器內(nèi)主要目錄和文件說明

目錄/文件名說明
bin啟動腳本及其他可執(zhí)行工具,如 startup.sh 和 stop.sh。
config配置文件目錄,包含關(guān)鍵配置文件,如 application.yml(OAP 核心配置)。
config-examples配置示例目錄,包含模板配置,便于用戶參考。
docker-entrypoint.sh容器啟動腳本,用于初始化和啟動 SkyWalking OAP 服務(wù)。
ext-config擴(kuò)展配置文件目錄,用于自定義擴(kuò)展配置。
ext-libs擴(kuò)展庫目錄,用于添加插件或依賴庫。
LICENSESkyWalking 項(xiàng)目的開源許可證文件。
licenses項(xiàng)目中使用的所有依賴庫的許可證集合。
oap-libsOAP 組件所需的依賴庫文件夾。
README.txt項(xiàng)目介紹文件,包含操作指南。
tools工具目錄,包含與 SkyWalking 相關(guān)的實(shí)用工具。
zipkin-LICENSEZipkin 集成相關(guān)的許可證信息。

核心目錄說明

  • config
    • 包含 application.yml,用于配置存儲后端、服務(wù)等。
  • oap-libs
    • SkyWalking OAP 的運(yùn)行時依賴庫,一般不需要手動修改。
  • logs
    • 日志目錄,存儲運(yùn)行日志,便于排查問題。
  • ext-libs 和 ext-config
    • 可以添加插件或自定義擴(kuò)展配置,靈活性高。

2. 使用 ElasticSearch 存儲

方式 1:通過 Docker 啟動 SkyWalking OAP 服務(wù)并使用 ElasticSearch 存儲

docker run -d \
  -p 11800:11800 \
  -p 12800:12800 \
  -e SW_STORAGE=elasticsearch \
  -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
  -e SW_ES_USER=elastic \
  -e SW_ES_PASSWORD="\"123456\"" \
  --link elasticsearch:elasticsearch \
  --name skywalking-oap \
  --restart always \
  apache/skywalking-oap-server:8.9.0

方式 2:通過 Docker 啟動 SkyWalking OAP 服務(wù)并使用 ElasticSearch 存儲【這里直接使用之前ES容器的網(wǎng)絡(luò)es-net

docker run -d \
  -p 11800:11800 \
  -p 12800:12800 \
  -e SW_STORAGE=elasticsearch \
  -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
  -e SW_ES_USER=elastic \
  -e SW_ES_PASSWORD="\"123456\"" \
  --net es-net \
  --name skywalking-oap \
  --restart always \
  apache/skywalking-oap-server:8.9.0

注意:

  • -e SW_ES_PASSWORD這里的密碼值 "\"123456\"",額外的引號確保其被正確解析為字符串。

方式 3:直接指定 ElasticSearch 服務(wù)的 IP 地址

docker run \
  -d -p 11800:11800 -p 12800:12800 \
  -e TZ=Asia/Shanghai \
  -e SW_STORAGE=elasticsearch \
  -e SW_STORAGE_ES_CLUSTER_NODES=[ES的IP]:9200 \
  -e SW_ES_USER=elastic \
  -e SW_ES_PASSWORD="\"123456\"" \
  --name skywalking-oap \
  --restart always \
  apache/skywalking-oap-server:8.9.0

說明:

  • SW_STORAGE=elasticsearch:指定使用 ElasticSearch 存儲。
  • SW_STORAGE_ES_CLUSTER_NODES:指定 ElasticSearch 服務(wù)地址,可以是容器內(nèi)的服務(wù)名(例如 elasticsearch:9200)或外部服務(wù)的 IP 地址(例如 [ES的IP]:9200)。
  • SW_ES_USER 和 SW_ES_PASSWORD:用于連接 ElasticSearch 的認(rèn)證信息。

方式 4:使用掛載配置文件啟動(自定義 application.yml 配置)

如果您希望使用自定義配置文件 application.yml,可以將其掛載到容器中:

docker run -d \
  -p 11800:11800 \
  -p 12800:12800 \
  -v /opt/module/skywalking/config/application.yml:/skywalking/config/application.yml \
  -e SW_STORAGE=elasticsearch \
  -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
  -e SW_ES_USER=elastic \
  -e SW_ES_PASSWORD="\"123456\"" \
  --link elasticsearch:elasticsearch \
  --name skywalking-oap \
  --restart always \
  apache/skywalking-oap-server:8.9.0

環(huán)境變量:

  • 可以使用 SW_STORAGE_ES_CLUSTER_NODES 來指定 ElasticSearch 集群的節(jié)點(diǎn)地址。如果是使用容器內(nèi)部網(wǎng)絡(luò),可以用容器的名稱代替 IP 地址(例如 elasticsearch:9200)。
  • SW_ES_USER 和 SW_ES_PASSWORD 用于認(rèn)證信息。如果在生產(chǎn)環(huán)境中使用,請確保密碼存儲方式安全,避免通過環(huán)境變量暴露敏感信息。

掛載配置文件:

  • 使用 -v 選項(xiàng)將本地的 application.yml 配置文件掛載到容器中,這樣可以靈活配置 SkyWalking 的各項(xiàng)參數(shù),避免每次修改環(huán)境變量。

網(wǎng)絡(luò)連接:

  • 使用 --link elasticsearch:elasticsearch 來連接 Docker 容器間的網(wǎng)絡(luò)。但建議使用 Docker 網(wǎng)絡(luò)來替代 --link,因?yàn)?nbsp;--link 已被棄用??梢酝ㄟ^創(chuàng)建自定義網(wǎng)絡(luò)來進(jìn)行容器間的連接。

3. 使用 MySQL 存儲(推薦?)

  • 在 MySQL 創(chuàng)建 SkyWalking 數(shù)據(jù)庫

    CREATE DATABASE skywalking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  • 配置 MySQL 驅(qū)動

    SkyWalking 需要 MySQL JDBC 驅(qū)動來連接 MySQL 數(shù)據(jù)庫。如果您使用的是 MySQL 8,可能需要手動將 mysql-connector 驅(qū)動文件導(dǎo)入到 skywalking-oap 容器中。

    準(zhǔn)備驅(qū)動文件將 mysql-connector-java-8.0.18.jar 文件放到服務(wù)器的任意位置,例如 /root

    拷貝到 Docker 容器使用 docker cp 命令將驅(qū)動文件傳入 SkyWalking OAP 容器:

    docker cp /root/mysql-connector-java-8.0.18.jar skywalking-oap:/skywalking/oap-libs
    

    注意要查看一下你使用的skywalking-oap容器中是否有 MySQL8的jar包, 如果有mysql-connector-java-8.0.X.jar那么就跳過這個步驟

    # 檢查是否有適配的驅(qū)動
    docker exec -it skywalking-oap ls -l /skywalking/oap-libs
    
  • 啟動 SkyWalking OAP 服務(wù),使用 MySQL 存儲數(shù)據(jù)

    docker run \
      -d -p 11800:11800 -p 12800:12800 \
      -e SW_STORAGE=mysql \
      -e "SW_JDBC_URL=jdbc:mysql://mysql:3306/skywalking?useUnicode=true&characterEncoding=UTF-8&useSSL=false" \
      -e SW_DATA_SOURCE_USER=root \
      -e SW_DATA_SOURCE_PASSWORD=root \
      -v /opt/module/skywalking/config:/skywalking/config \
      -v /opt/module/skywalking/oap-libs:/skywalking/oap-libs \
      --link mysql:mysql \
      --name skywalking-oap \
      --restart always \
      apache/skywalking-oap-server:8.9.0
    

說明

  • SW_STORAGE=mysql:指定使用 MySQL 存儲。

  • SW_JDBC_URL:MySQL JDBC 連接 URL,格式為:

    jdbc:mysql://<MySQL服務(wù)地址>:<端口>/<數(shù)據(jù)庫名>?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    

    示例中 mysql 是 Docker 服務(wù)名,3306 是默認(rèn)端口。

  • SW_DATA_SOURCE_USER 和 SW_DATA_SOURCE_PASSWORD:MySQL 數(shù)據(jù)庫的用戶名和密碼。

  • --link mysql:mysql:通過 Docker 的 --link 參數(shù)連接 MySQL 服務(wù)(需確保 MySQL 服務(wù)已啟動且可訪問)。

注意事項(xiàng)

  • MySQL 地址和端口:確保替換 mysql:3306 為實(shí)際的 MySQL 地址和端口。如果 MySQL 服務(wù)在本地運(yùn)行,可以替換為 localhost:3306,如果是遠(yuǎn)程數(shù)據(jù)庫,則替換為對應(yīng)的遠(yuǎn)程地址。
  • 提前創(chuàng)建數(shù)據(jù)庫:在執(zhí)行啟動命令之前,確保 MySQL 數(shù)據(jù)庫中已經(jīng)創(chuàng)建了 skywalking 數(shù)據(jù)庫。你可以根據(jù)需要調(diào)整數(shù)據(jù)庫名稱和字符集。
  • MySQL 版本兼容性:確保你使用的 MySQL 版本與 SkyWalking OAP 兼容,建議使用 MySQL 5.7 以上版本。

4. 可選配置:自定義參數(shù)或掛載配置文件

  • 修改JVM堆內(nèi)存大小

    docker run \
      -d -p 11800:11800 -p 12800:12800 \
      -e JAVA_OPTS="-Xmx2g" \
      --name skywalking-oap \
      --restart always \
      apache/skywalking-oap-server:8.9.0
    
  • 掛載本地配置文件

    將配置文件放在/opt/module/skywalking/config/application.yml路徑,啟動命令如下:

    docker run \
      -d -p 11800:11800 -p 12800:12800 \
      -v /opt/module/skywalking/config/application.yml:/skywalking/config/application.yml \
      --name skywalking-oap \
      --restart always \
      apache/skywalking-oap-server:8.9.0
    

    注意:確保掛載路徑和配置文件內(nèi)容正確無誤。

部署 SkyWalking UI

SkyWalking UI 提供了一個基于 Web 的界面,用于可視化 OAP 服務(wù)器收集的遙測數(shù)據(jù)。

方式 1:通過 Docker 啟動 SkyWalking UI 服務(wù)

docker run \
  -d -p 8080:8080 \
  -e SW_OAP_ADDRESS=http://skywalking-oap:12800 \
  --link skywalking-oap:skywalking-oap \
  --name skywalking-ui \
  --restart always \
  apache/skywalking-ui:8.9.0

瀏覽器訪問:http://<主機(jī)IP>:8080。

說明

  • UI 服務(wù)默認(rèn)訪問地址為 http://<主機(jī)IP>:8080。
  • UI 可監(jiān)控 SkyWalking OAP 服務(wù)的運(yùn)行狀態(tài)及指標(biāo)數(shù)據(jù)。
  • 啟動后左側(cè)菜單可能較少,需等待上報數(shù)據(jù)后才能顯示完整菜單。
  • 查詢數(shù)據(jù)時,請確認(rèn)右上角的時間區(qū)間是否正確。

如果8080端口被占用,這里可以替換成其他的端口 例如: -p 28080:8080

方式 2:通過 Docker 啟動 SkyWalking UI 服務(wù)(使用自定義網(wǎng)絡(luò) es-net

docker run \
  -d -p 8080:8080 \
  -e SW_OAP_ADDRESS=http://skywalking-oap:12800 \
  --net es-net \
  --name skywalking-ui \
  --restart always \
  apache/skywalking-ui:8.9.0

查看啟動日志

docker logs -f skywalking-oap
docker logs -f skywalking-ui

# 查看最近 20 行日志
docker logs -f -t --tail 20 skywalking-oap
docker logs -f -t --tail 20 skywalking-ui

進(jìn)入skywalking-oap、skywalking-ui容器內(nèi)部

docker ps     # 查看正在運(yùn)行的容器,并得到 容器id

# 進(jìn)入tomcat容器內(nèi)部
docker exec -it [容器id] /bin/bash  # 中間那個是容器id 就是 CONTAINER_ID
docker exec -it [容器id] /bin/sh
#  -it 表示進(jìn)入
docker exec -it skywalking-oap /bin/sh
docker exec -it skywalking-ui  /bin/sh
# 使用 命令別名 開啟 ll命令
cat <<EOF >> /etc/profile
alias ll='ls -l --color=tty'
alias grep='grep --color=auto'
EOF

source /etc/profile

查看防火墻【開放端口】

# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp
firewall-cmd --query-port=11800/tcp
firewall-cmd --query-port=12800/tcp

# 開放80、443端口
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=11800/tcp
firewall-cmd --permanent --add-port=12800/tcp

# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --permanent --remove-port=11800/tcp
firewall-cmd --permanent --remove-port=12800/tcp

# 重啟防火墻(修改配置后要重啟防火墻)
firewall-cmd --reload

# 查看已經(jīng)開發(fā)那些端口
firewall-cmd --list-ports
firewall-cmd --zone=public --list-ports

測試

#瀏覽器中服務(wù)器
http://虛擬機(jī)IP:8080

查看日志

查看 SkyWalking OAP 日志

docker logs -f skywalking-oap

查看 SkyWalking UI 日志

docker logs -f skywalking-ui

停止并刪除容器

停止并刪除 OAP 容器

docker stop skywalking-oap
docker rm skywalking-oap

停止并刪除 UI 容器

docker stop skywalking-ui
docker rm skywalking-ui

結(jié)論

以上步驟完成后,您已成功配置Apache SkyWalking的OAP服務(wù)器和UI。可以選擇使用H2、Elasticsearch或MySQL作為存儲,通過SkyWalking UI監(jiān)控系統(tǒng)運(yùn)行情況。

到此這篇關(guān)于Docker搭建Skywalking的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Docker搭建Skywalking內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker內(nèi)服務(wù)訪問宿主機(jī)服務(wù)的實(shí)現(xiàn)

    docker內(nèi)服務(wù)訪問宿主機(jī)服務(wù)的實(shí)現(xiàn)

    本文主要介紹了docker內(nèi)服務(wù)訪問宿主機(jī)服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker 容器文件系統(tǒng)詳細(xì)介紹(圖文)

    Docker 容器文件系統(tǒng)詳細(xì)介紹(圖文)

    這篇文章主要介紹了Docker 容器文件系統(tǒng)詳細(xì)介紹(圖文)的相關(guān)資料,這里對Docker 容器文件系統(tǒng)進(jìn)行了具體的分析詳解,需要的朋友可以參考下
    2016-12-12
  • Docker如何查看正在運(yùn)行的容器目錄

    Docker如何查看正在運(yùn)行的容器目錄

    這篇文章主要介紹了Docker如何查看正在運(yùn)行的容器目錄問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker安裝ollama過程解讀

    Docker安裝ollama過程解讀

    Ollama是一個開源的LLM服務(wù)工具,用于簡化在本地運(yùn)行大語言模型,本文介紹了如何使用Docker安裝Ollama并運(yùn)行大語言模型,包括拉取鏡像、運(yùn)行容器和加載模型,最后,還介紹了如何安裝OpenWebUI進(jìn)行Web界面交互
    2025-02-02
  • 解決Docker容器下不能使用vim命令的問題

    解決Docker容器下不能使用vim命令的問題

    這篇文章介紹了解決Docker容器下不能使用vim命令的問題,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Docker容器中文亂碼(修改docker容器編碼格式)的解決方案

    Docker容器中文亂碼(修改docker容器編碼格式)的解決方案

    這篇文章主要介紹了Docker容器中文亂碼(修改docker容器編碼格式)的解決方案的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 容器Docker入門詳解

    容器Docker入門詳解

    這篇文章主要介紹了容器Docker入門詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • IDEA中進(jìn)行Docker項(xiàng)目部署的實(shí)現(xiàn)步驟

    IDEA中進(jìn)行Docker項(xiàng)目部署的實(shí)現(xiàn)步驟

    這篇文章主要介紹了IDEA中進(jìn)行Docker項(xiàng)目部署的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 如何查看docker-compose.yml所在位置

    如何查看docker-compose.yml所在位置

    這篇文章主要介紹了如何查看docker-compose.yml所在位置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker nacos集群部署的實(shí)現(xiàn)

    Docker nacos集群部署的實(shí)現(xiàn)

    本文將深入探討如何使用Docker來部署Nacos集群,從而實(shí)現(xiàn)服務(wù)的快速擴(kuò)展、高可用性和可維護(hù)性,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論