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应用部署能力,也为后续构建自动化运维体系提供了有益参考。


相关推荐
天诰9 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
陈希12311 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡11 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
@兽血沸腾12 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
闲云自留地17 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
讯捷蓝达17 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
数字新视界20 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落20 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng20 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮21 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频