Инструмент мониторинга Ward — это инструмент, специально используемый для мониторинга систем Linux. Он может отслеживать использование процессора, памяти, ввода-вывода и других ресурсов системы в режиме реального времени, а также состояние сети системы и состояние работы служб.
Docker — это механизм контейнеров приложений с открытым исходным кодом, который позволяет легко упаковывать приложения в портативный контейнер для упрощения развертывания, тестирования и эксплуатации. Контейнеры Docker легкие, портативные и многоразовые, с хорошей производительностью и использованием ресурсов.
Docker использует технологию виртуализации на уровне операционной системы для одновременного запуска нескольких независимых контейнеров на одном физическом сервере, не мешая друг другу. При создании и развертывании приложений контейнеры Docker предоставляют единую среду разработки, тестирования и производства, значительно упрощая управление всем жизненным циклом приложения.
Помимо мощных возможностей контейнеризации приложений, Docker также предоставляет мощную экосистему, включающую хранилища контейнеров, управление образами, оркестровку контейнеров и другие инструменты, позволяющие пользователям более легко управлять приложениями и расширять их. В то же время открытость и масштабируемость Docker также позволяют ему легко интегрироваться с другими технологиями облачных вычислений и контейнеризации, становясь незаменимой частью стека собственных облачных технологий.
Эта практика представляет собой личную тестовую среду, а версия операционной системы — centos7.6.
hostname | IP-адрес | Версия операционной системы | Докер-версия | палатная версия |
---|---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 20.10.17 | v2.4.0 |
1. Среда развертывания для этой практики — это персональная тестовая среда, будьте осторожны в производственной среде;
2. Разверните инструмент мониторинга сервера Ward в среде Docker.
Проверьте версию операционной системы локального сервера, в настоящее время используется версия centos7.6.
[root@jeven ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Проверьте версию рабочего ядра. Текущая версия ядра — 3.10.0-957.el7.x86_64.
[root@jeven ~]# uname -r
3.10.0-957.el7.x86_64
Проверьте текущий статус службы Docker, чтобы убедиться, что служба Docker работает нормально.
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-10-10 02:01:39 CST; 5h 32min ago
Docs: https://docs.docker.com
Main PID: 9566 (dockerd)
Tasks: 13
Memory: 378.6M
CGroup: /system.slice/docker.service
Проверьте версию Docker, текущая версия Docker — 20.10.17.
[root@jeven ~]# docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:05:12 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:03:33 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Выполните следующие операции, чтобы включить переадресацию маршрута.
[root@node ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@node ~]# systemctl restart network
[root@node ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
Проверьте версию Docker Compose, текущая версия — v2.6.0.
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
Извлеките образ Ward из Docker Hub.
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
[root@jeven ~]# docker pull antonyleons/ward
Using default tag: latest
latest: Pulling from antonyleons/ward
44ba2882f8eb: Pull complete
2cabec57fa36: Pull complete
c20481384b6a: Pull complete
bf7b17ee74f8: Pull complete
38617faac714: Pull complete
b944bffad3f6: Pull complete
2c37ae828c28: Pull complete
Digest: sha256:29f6b3ca9ae85b4861cd60344d9621624671e1e7fbfc417c7f185d48f106329f
Status: Downloaded newer image for antonyleons/ward:latest
docker.io/antonyleons/ward:latest
Развертывание варда с помощью docker-cli
docker run --restart unless-stopped -it -d --name ward -p 4000:4000 -e WARD_PORT=4000 -e WARD_THEME=dark --privileged antonyleons/ward
На этот раз мы используем dockercompose для развертывания ward.
version: '3.3'
services:
run:
restart: unless-stopped
container_name: ward
ports:
- '4000:4000'
environment:
- WARD_PORT=4000
- WARD_THEME=dark
- WARD_NAME=leons-server
privileged: true
image: antonyleons/ward
Начните развертывание варда и создайте контейнер варда.
docker compose up -d
Проверить состояние контейнера палаты
[root@jeven ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f91a8774d45 antonyleons/ward "/bin/sh -c 'java -j…" 39 seconds ago Up 38 seconds 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp ward
Проверьте журнал контейнеров палаты. Убедитесь, что служба палаты работает правильно.
docker logs ward
Адрес доступа: http://192.168.3.166:4000/, замените IP-адрес на собственный IP-адрес сервера.
Я участвую во втором этапе специального тренировочного лагеря Tencent Technology Creation 2023 с призовыми эссе, чтобы разделить призовой фонд в 10 000 юаней и часы с клавиатурой.