【Docker项目实战】使用Docker部署Nexterm服务器管理工具
一、Nexterm介绍
1.1 Nexterm简介
NextTerm 提供了一个图形化的用户界面(GUI),使得用户可以通过直观的操作来连接到远程服务器,而无需直接在命令行中输入复杂的指令。该工具支持多种远程连接协议,包括但不限于SSH用于命令行访问、VNC用于图形桌面共享、以及RDP用于Windows远程桌面连接。
1.2 主要特点
- 多协议支持:能够通过SSH、VNC、RDP等协议连接到远程服务器。
- 会话管理:允许用户保存和组织多个服务器连接配置,方便快速切换和重连。
- 跨平台兼容性:可以在不同操作系统上运行,如Linux、macOS、Windows。
- 文件传输:内置SFTP客户端,方便地在本地与远程服务器之间传输文件。
- 终端仿真:提供强大的终端仿真功能,以支持不同的shell环境。
- 安全性:支持公钥认证和其他安全措施来确保连接的安全性。
- 插件系统:可扩展的功能集,允许添加新的特性和改进现有功能。
1.3 主要使用场景
- 服务器管理:IT管理员可以使用NextTerm轻松管理分布式的服务器集群,执行常规任务如监控性能、部署更新或故障排除。
- 开发测试:开发者可以利用NextTerm快速设置与测试环境之间的连接,加速应用程序的开发周期。
- 远程工作:对于需要经常远程工作的员工来说,NextTerm提供了便捷的方法来访问公司内部资源和服务。
- 教育和培训:教师和学生可以使用NextTerm学习如何正确地配置和管理服务器,实践网络和系统管理技能。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 项目名称 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS 24.0.7 | Nexterm服务器管理工具 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Nexterm服务器管理工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
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 Mon 2025-01-06 14:00:01 UTC; 34min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 918 (dockerd)
Tasks: 16
Memory: 106.8M
CPU: 3.741s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载Nexterm镜像
执行以下命令,拉取以下Nexterm镜像。
root@jeven01:~# docker pull germannewsmaker/nexterm:latest
latest: Pulling from germannewsmaker/nexterm
43c4264eed91: Pull complete
3696426c5aa2: Pull complete
cdccf44a82db: Pull complete
21f39b9ddd19: Pull complete
384247fb717b: Pull complete
92a88ba0ef73: Pull complete
7f77283cb4d8: Pull complete
5774fd835050: Pull complete
85a0fc269dab: Pull complete
fb315bfd98b1: Pull complete
6880d099c762: Pull complete
98d2d8bf4a73: Pull complete
ff0ce33cf63e: Pull complete
be73a5a4a854: Pull complete
Digest: sha256:d17aec844a6b19bca7ed7911e81a54afb7828ffe3f930128972206618978316e
Status: Downloaded newer image for germannewsmaker/nexterm:latest
docker.io/germannewsmaker/nexterm:latest
五、部署Nexterm应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/nexterm && cd /data/nexterm
5.2 docker-cli方式部署(可选)
可使用以下docker-cli方式,快速部署Nexterm应用。
docker run -d \
--restart always \
--name nexterm \
-p 7700:6989 \
-v $(pwd)/data:/app/data \
germannewsmaker/nexterm:latest
5.3 编辑部署文件
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3'
services:
nexterm:
image: germannewsmaker/nexterm:latest
container_name: nexterm
restart: always
ports:
- 7700:6989
volumes:
- /data/nexterm/data:/app/data
5.4 创建Nexterm容器
执行以下命令,创建Nexterm容器。
root@jeven01:/data/nexterm# docker compose up -d
[+] Running 2/2
✔ Network nexterm_default Created 0.1s
✔ Container nexterm Started 0.2s
5.5 查看Nexterm容器状态
检查Nexterm容器状态状态,确保Nexterm容器正常启动。
root@jeven01:/data/nexterm# docker compose ps
NAME IMAGE COMMAND SERVICE CREATEDSTATUS PORTS
nexterm germannewsmaker/nexterm:latest "docker-entrypoint.s…" nexterm 29 seconds agoUp 27 seconds 0.0.0.0:7700->6989/tcp, :::7700->6989/tcp
5.6 检查Nexterm容器日志
检查Nexterm容器日志,确保Nexterm服务正常运行。
root@jeven01:/data/nexterm# docker compose logs
nexterm | Successfully connected to the database file
nexterm | Starting Guacamole on port 50034 using host ::
六、访问Nexterm服务
6.1 访问Nexterm初始页
访问地址:http://192.168.3.88:7700,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
6.2 注册账号
自定义填写账号信息,确认即可。
七、Nexterm基本使用
7.1 SSH连接服务器
在如下图所示位置,空白处单机鼠标右键,会弹出“Create Folder”选项。
编辑名称完毕后,右键选择“Create Server”。
填写服务器相关信息,填写完毕后,保存即可。
双击连接名称,可以看到已经成功连接到服务器。
7.2 连接Windows远程桌面
右键选择“Create Server”,填写Windows的IP地址,协议选择RDP协议。
填写Windows的账号密码,保存即可。
双击连接名称后,进入到Windows远程桌面。
八、总结
NextTerm 通过提供一个直观的图形化界面简化了远程服务器的管理,支持SSH、VNC和RDP等多种连接协议以适应不同的远程访问需求。它不仅提升了服务器管理员的工作效率,还为开发者和远程工作者提供了便捷的工具来操作和维护服务器资源。此外,NextTerm的跨平台特性和内置文件传输功能进一步增强了其作为综合性服务器管理解决方案的吸引力。
- 点赞
- 收藏
- 关注作者
评论(0)