Docker实战 | 使用Docker部署EasyNode服务器面板工具

Docker实战 | 使用Docker部署EasyNode服务器面板工具

  • 一、EasyNode介绍
    • [1.1 EasyNode简介](#1.1 EasyNode简介)
    • [1.2 EasyNode主要特点](#1.2 EasyNode主要特点)
  • 二、本次实践规划
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、拉取EasyNode镜像
  • 五、部署EasyNode服务
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑部署文件](#5.2 编辑部署文件)
    • [5.3 创建EasyNode容器](#5.3 创建EasyNode容器)
    • [5.4 查看EasyNode容器状态](#5.4 查看EasyNode容器状态)
    • [5.5 查看EasyNode容器日志](#5.5 查看EasyNode容器日志)
  • 六、访问EasyNode服务
  • 七、EasyNode基本使用
    • [7.1 添加实例](#7.1 添加实例)
    • [7.2 连接服务器](#7.2 连接服务器)
  • 八、总结

一、EasyNode介绍

1.1 EasyNode简介

EasyNode 是一款功能强大的 Linux 服务器 Web 终端管理面板,集成了 WebSSH、WebSFTP、跳板机、AI对话、脚本管理等多功能于一体,旨在为用户提供高效、安全、便捷的远程服务器操作体验。

1.2 EasyNode主要特点

  1. 功能完善的 SSH 终端与 SFTP 文件管理:支持在线终端操作与文件传输,实现一站式服务器交互。
  2. 跳板机功能:通过中转连接被墙或网络受限的服务器,解决龟速输入与连接难题。
  3. AI对话组件,终端对话联动:集成智能对话助手,提升命令理解与操作效率。
  4. 批量导入、导出、编辑服务器配置与脚本:支持多实例集中管理,简化运维流程。
  5. 丰富的脚本库支持:内置常用脚本资源,快速执行自动化任务。
  6. 实例分组管理:按业务或环境对服务器进行逻辑分组,提升管理清晰度。
  7. 凭据托管服务:安全存储与自动填充登录信息,保障账号安全与使用便捷。
  8. 多渠道通知机制:支持邮件、Webhook等多种方式实时推送关键事件。
  9. 批量下发指令:一键向多台服务器发送命令,大幅提升运维效率。
  10. 自定义终端主题:支持个性化界面设置,打造专属操作环境。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 EasyNode

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署EasyNode服务器面板工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

bash 复制代码
root@jeven01:~#  systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-07-02 14:16:57 UTC; 21h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 878 (dockerd)
      Tasks: 28
     Memory: 1.2G
        CPU: 1min 50.356s
     CGroup: /system.slice/docker.service
             ├─  878 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

bash 复制代码
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取EasyNode镜像

拉取EasyNode相关容器镜像,如下所示:

bash 复制代码
docker pull chaoszhu/easynode

五、部署EasyNode服务

5.1 创建部署目录

  • 创建部署目录
bash 复制代码
mkdir -p /data/easynode  &&  cd /data/easynode

5.2 编辑部署文件

在`部署目录下,创建docker-compose.yaml文件,如下所示:

bash 复制代码
vim docker-compose.yaml
yaml 复制代码
version: '3'

services:
  easynode:
    image: chaoszhu/easynode
    container_name: easynode
    restart: always
    ports:
      - 8082:8082
    volumes:
      - ./data:/easynode/app/db
    environment:
      - TZ=Asia/Shanghai
      - DEBUG=0
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Shanghai
    command: --schedule "0 8 * * *" --label-enable
  • labels: 是给容器添加元数据,这里设置了 com.centurylinklabs.watchtower.enable=true,表示允许 Watchtower 自动监控并更新该容器。
  • command: 是为 Watchtower 容器指定启动参数,--schedule "0 8 * * *" 表示每天凌晨 8 点执行更新检查,--label-enable 表示只更新带有启用标签的容器。

5.3 创建EasyNode容器

执行以下命令,创建EasyNode容器。

bash 复制代码
docker compose up -d

5.4 查看EasyNode容器状态

检查EasyNode容器运行状态,确保EasyNode容器正常启动。

bash 复制代码
root@jeven01:/data/easynode# docker compose ps
WARN[0000] /data/easynode/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME         IMAGE                   COMMAND                  SERVICE      CREATED         STATUS                   PORTS
easynode     chaoszhu/easynode       "docker-entrypoint.s..."   easynode     2 minutes ago   Up 2 minutes             0.0.0.0:8082->8082/tcp, [::]:8082->8082/tcp
watchtower   containrrr/watchtower   "/watchtower --sched..."   watchtower   2 minutes ago   Up 2 minutes (healthy)   8080/tcp

5.5 查看EasyNode容器日志

检查EasyNode容器运行日志,确保EasyNode服务正常运行。

bash 复制代码
docker compose logs

六、访问EasyNode服务

浏览器地址: http://<个人的服务器IP>:8082,访问EasyNode的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

使用默认账号密码admin/admin登录,进入到EasyNode首页。

第一次使用初始账号密码登录,会提示我们修改密码,我们按照提示修改密码即可。

七、EasyNode基本使用

7.1 添加实例

在实例配置的管理页面,点击"添加实例配置",如下所示:

填写服务器登录信息,设置完毕后,点击"确认"。

7.2 连接服务器

在连接终端中,点击刚才添加服务器的"连接"选项,进行SSH远程连接服务器。

八、总结

本次实践通过Docker成功部署了EasyNode服务器管理面板,验证了容器化技术在快速搭建可视化运维平台中的高效性与实用性。整个部署流程清晰可控,结合docker-compose编排服务,极大简化了环境依赖和配置复杂度。EasyNode功能直观、操作便捷,适合各类用户进行服务器监控与管理,具备良好的使用体验。此次实战不仅巩固了Docker应用部署能力,也为后续构建自动化运维体系提供了有益参考。


相关推荐
心机之蛙qee1 小时前
Docker Compose 多容器编排
java·docker·容器
AI大佬的小弟2 小时前
私有化 Dify 应用开发(1):Dify 入门|Docker 一键部署全流程
docker·大模型落地·ai 应用开发·dify 教程·私有化 ai 部署·docker 实战·开源 ai 平台
你怎么知道我是队长2 小时前
计算机虚拟存储管理与页面置换算法详解
服务器·网络·算法
ShiXZ2133 小时前
Docker 安装 Elasticsearch 7.17.6 完整教程
elasticsearch·docker·容器
tjjingpan3 小时前
HCIP-Datacom Core Technology V1.0_20 IPv6概述
linux·服务器·网络
名字还没想好☜4 小时前
Kubernetes Pod 调度实战:nodeSelector、亲和性与 taint/toleration 把 Pod 放到指定节点
运维·云原生·容器·kubernetes·调度
念何架构之路4 小时前
moby-BuildKit(builder-next)
学习·docker·容器
风曦Kisaki4 小时前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
张忠琳4 小时前
【NVIDIA】k8s-device-plugin v0.19.3 辅助命令模块深度分析之七
云原生·容器·架构·kubernetes·nvidia