顯示具有 電腦-Linux-Server-Docker 標籤的文章。 顯示所有文章
顯示具有 電腦-Linux-Server-Docker 標籤的文章。 顯示所有文章

2023年9月23日 星期六

Zabbix monitor Docker Service

Zabbix monitor Docker Service

在Zabbix agent2安裝過程會加裝各種plugin,將使用Docker plugin來監控Docker service。
Zabbix agent2 plugin的安裝目錄為/etc/zabbix/zabbix_agent2.d/plugins.d/。使用設定檔為Docker.conf,預設是連結 unix://var/run/docker.sock。
04-zabbix-agent2 plugins

設備環境

Debian Linux 11
Docker version 20.10.23
Zabbix Agent 2 6.0.21

Docker設定

開啟Docker API

在監控主機修改docker.service設定檔。
nano /usr/lib/systemd/system/docker.service
---
修改前
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

修改後
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock
---
05-edit docker api

重新啟動docker.service
# systemctl daemon-reload
# systemctl restart docker
# systemctl status docker

API測試

在Zabbix Server主機使用zabbix-get對監控主機進行測試。
先安裝zabbix-get
# sudo apt install zabbix-get
# zabbix_get -s 192.168.203.162 -k docker.info
06-check docker api

增加Zabbix agent2權限

在監控主機將zabbix加入docer群組。
# usermod -aG docker zabbix
07-fix zabbix agent2 user



Zabbix WEB設定

預計使用Zabbix Server內建Templates/Applications  的Docker by Zabbix agent 2 進行監控。

https://www.zabbix.com/integrations/docker

官方連結說明翻譯:
Zabbix 監控 Docker 引擎的模板,無需任何外部腳本即可運作。由於 Zabbix 批量資料收集,大部分指標都是一次性收集的。
模板Docker by Zabbix agent 2— 透過輪詢 zabbix-agent2 收集指標。

新增頁面設定如下:
08-add host


依官網說明在Maros頁面新增7組參數,並填入對應的值。
{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
.*
{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
CHANGE_IF_NEEDED
{$DOCKER.LLD.FILTER.IMAGE.MATCHES}
.*
{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
CHANGE_IF_NEEDED
09-add host marcos

在Configuration > Host中新增Host。
10-host

在Monitoring > Host查看資料,有Problems。
11-data

在Monitoring > Problems,container停止有異常。
12-problem

Zabbix使用Zabbix agent2監控Docker Service,是由Zabbix Server透過監控主機的Zabbix agent2捉取資料,屬於被動模式。

2023年9月16日 星期六

Linux install Docker

Linux install Docker 

參考原廠網站整理

https://docs.docker.com/engine/install/debian/


環境準備

OS使用Debian Bullseye 11
在安裝官方 Docker Engine  前,如果有安裝其它版本請先卸載。
要卸載的非官方套件有:
docker.io
docker-compose
docker-doc
podman-docker
此外,Docker Engine 依賴於containerd和runc,Docker Engine 將整合為一個套件包:containerd.io 。
如果之前安裝過containerd或runc,請卸載它們以避免與 Docker Engine 整合的版本衝突。
運行以下命令卸載所有衝突的包:
# sudo for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done


使用 APT repository安裝

在主機安裝官方 Docker Engine ,需要設置 Docker APT repository。

可以直接使用apt install 安裝和更新 Docker。

1-1.設置 Docker 的 Apt repository

新增 Docker's official GPG key:
# sudo apt-get update
# sudo apt-get install ca-certificates curl gnupg
# sudo install -m 0755 -d /etc/apt/keyrings
# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# sudo chmod a+r /etc/apt/keyrings/docker.gpg

1-2.新增 dokcer repository 在 sources

# echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# sudo apt-get update

1-3.安裝 Docker 套件

安裝最新版本
# sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安裝指定版本
# apt-cache madison docker-ce | awk '{ print $3 }'
# VERSION_STRING=5:24.0.0-1~debian.11~bullseye
# sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin


使用DEB package 安裝

如果無法使用 apt repository 來安裝 Docker Engine。可以直接下載deb package 並手動安裝。如果升級 Docker Engine 時都需要下載最新版本,手動安裝。

下載DEB package

網址 https://download.docker.com/linux/debian/dists/

在列表中選擇您的 Debian 版本。在pool/stable/並選擇適用的架構 (amd64, armhf, arm64, or s390x).
下載 deb package包含 Docker Engine, CLI, containerd, and Docker Compose packages:
containerd.io_<version>_<arch>.deb
docker-ce_<version>_<arch>.deb
docker-ce-cli_<version>_<arch>.deb
docker-buildx-plugin_<version>_<arch>.deb
docker-compose-plugin_<version>_<arch>.deb

安裝 deb package 

# sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
  ./docker-ce_<version>_<arch>.deb \
  ./docker-ce-cli_<version>_<arch>.deb \
  ./docker-buildx-plugin_<version>_<arch>.deb \
  ./docker-compose-plugin_<version>_<arch>.deb

 安裝完成後 Docker daemon 會自動啟動。

  

移除 Docker Engine

移除 Docker Engine、CLI、containerd 和 Docker Compose 套件

# sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

主機上的映像、容器、卷或自定義配置文件不會自動刪除。
手動刪除所有映像、容器和卷及任何編輯的配置文件
# sudo rm -rf /var/lib/docker
# sudo rm -rf /var/lib/containerd


2018年11月29日 星期四

電腦-Linux-Ubuntu 安裝 Docker CE

電腦-Linux-Ubuntu安裝Docker CE

Ubuntu 16.04
Docker CE (18.x)

移除舊版本
apt-get remove docker docker-engine docker.io containerd runc

安裝相關套件
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

安裝Docker GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

安裝Docker Repository
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

安裝Docker-ce
sudo apt-get update
sudo apt-get install docker-ce

檢查Docker服務
sudo systemctl status docker

檢查Docker服務
sudo docker -v
apt-cache madison docker-ce

指定安裝版本
sudo apt-get install docker-ce=<VERSION>

新增一般使用者至dokcer group,指令可不加sudo
sudo usermod -aG docker $(whoami)
檢查使用者group
id -nG

移除Docker CE
sudo apt-get purge docker-ce
移除Docker相關資料
sudo rm -rf /var/lib/docker



參考資料
Get Docker CE for Ubuntu
How To Install and Use Docker on Ubuntu 16.04

2016年10月19日 星期三

電腦-CentOS 安裝 Docker


CentOS 7 安裝 Docker CE

2022/05/25 更新

作業環境:
CentOS 7.x
Docer CE 2x.x

要在 CentOS 上開始使用 Docker Engine,請確認以下條件,

您需要 CentOS 7, CentOS 8 (stream), or CentOS 9 (stream) 的維護版本。

安裝需要使用 centos-extras repository。此存儲庫默認啟用,但如果您已禁用它,則需要重新啟用。

推薦使用 overlay2 storage driver。


增加Docker Repository及相關套件

安裝yum-utils包(提供yum-config-manager 實用程序), 並增加Docker stable repository。

yum install -y yum-utils

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


Install Docker CE
裝最新版本的 Docker Engine、containerd 和 Docker Compose

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

如果提示 GPG 密鑰,請驗證指紋是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35。


啟動Docker
systemctl start docker


安裝特定版本的 Docker Engine
如果要安裝特定版本的 Docker Engine,請在 repo 中列出可用版本,然後選擇並安裝:

yum list docker-ce --showduplicates | sort -r

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin


卸載舊版本
舊版本的 Docker 被稱為docker或docker-engine. 如果安裝了這些,請卸載它們以及相關的依賴項。

移除舊版本
Uninstall old versions
yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-selinux \
           docker-engine-selinux \
           docker-engine
   

參考資料