【Docker项目实战】在Docker环境下搭建Umbrel操作系统
【摘要】 【Docker项目实战】在Docker环境下搭建Umbrel操作系统
@TOC
一、Umbrel介绍
1.1 Umbrel简介
Umbrel是一款专为个人和小型团队设计的自托管操作系统,它简化了多种应用和服务的部署与管理。通过采用Docker容器技术,Umbrel实现了应用程序的快速安装和运行,无需复杂的配置或特定的硬件设备。用户可以在标准的计算机系统上轻松启动一系列网络服务和个人应用,享受高效、私密的数据管理和访问。
1.2 主要特点
-
简便的部署:利用Docker容器,Umbrel可以将各种应用打包成独立的单元,确保它们在任何支持Docker的操作系统上都能一致地运行。
-
图形化界面:提供直观的Web界面,使得应用的安装、配置和监控变得简单易行,即便是没有深厚技术背景的用户也能轻松上手。
-
模块化架构:用户可以根据自己的需求选择和添加不同的应用模块,构建个性化的服务平台。
-
数据隐私保护:所有数据都保存在用户的本地设备上,由用户自己控制,不依赖外部服务提供商,增强了数据的安全性和隐私性。
-
社区驱动更新:活跃的开发者社区持续贡献新的应用和改进,保证了系统的稳定性和功能的不断扩展。
-
自动化维护:内置自动化工具帮助用户轻松完成软件更新和日常维护任务,减少了手动操作的需求。
1.3 主要使用场景
-
个人服务器搭建:对于想要在家中或办公室中建立私人服务器的人来说,Umbrel提供了便捷的方法来托管网站、文件共享服务或其他互联网应用。
-
开发环境创建:开发者可以用Umbrel迅速搭建一个包含所需工具和服务的开发环境,促进代码编写和测试工作。
-
家庭媒体中心:通过集成多媒体管理和流媒体服务,Umbrel能够转换普通计算机成为一个多功能的家庭娱乐中心。
-
教育机构内部资源分享平台:学校或培训机构可以利用Umbrel创建一个安全的平台用于课程资料分发、学生作业提交等事务。
-
小企业IT基础设施:小型企业可以使用Umbrel来搭建一套低成本但高效的内部IT系统,包括邮件服务器、客户关系管理系统(CRM)等业务关键应用。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为Centos7。
hostname | 内网 IP地址 | 操作系统版本 | Docker版本 | 项目名称 |
---|---|---|---|---|
VM-8-9-centos | 10.3.8.9 | CentOS Linux 7 | 26.1.3 | UmbrelOS |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Umbrel操作系统。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
[root@VM-8-9-centos ~]# 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 Thu 2025-01-09 20:59:40 CST; 4 days ago
Docs: https://docs.docker.com
Main PID: 1424 (dockerd)
Tasks: 9
Memory: 1.0G
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
[root@VM-8-9-centos ~]# docker -v
Docker version 26.1.3, build b72abbb
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
[root@VM-8-9-centos ~]# docker compose version
Docker Compose version v2.27.1
四、下载Umbrel镜像
执行以下命令,拉取以下Umbrel镜像。
[root@VM-8-9-centos ~]# docker pull dockurr/umbrel
Using default tag: latest
latest: Pulling from dockurr/umbrel
2d429b9e73a6: Pull complete
b4d5a22b9f8b: Pull complete
17bd397cf7c7: Pull complete
3741d61e2602: Pull complete
Digest: sha256:72e69121e459d302a1b3af51b41b5a69444629ac98320b84793edbb179797fba
Status: Downloaded newer image for dockurr/umbrel:latest
docker.io/dockurr/umbrel:latest
五、部署Umbrel应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/umbrel && cd /data/umbrel
5.2 docker-cli方式部署(可选)
可使用以下docker-cli方式,快速部署Umbrel应用。
docker run -it --rm -p 80:80 -v /home/example:/data -v /var/run/docker.sock:/var/run/docker.sock --pid=host --stop-timeout 60 dockurr/umbrel
5.3 编辑部署文件
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3.9'
services:
umbrel:
image: dockurr/umbrel
container_name: umbrel
restart: always
pid: host
ports:
- 8060:80
volumes:
- "/data/umbrel/data:/data"
- "/var/run/docker.sock:/var/run/docker.sock"
5.4 创建Umbrel容器
执行以下命令,创建Umbrel容器。
[root@VM-8-9-centos umbrel]# docker compose up -d
WARN[0000] /data/umbrel/docker-compose.yaml: `version` is obsolete
[+] Running 2/2
✔ Network umbrel_default Created 0.0s
✔ Container umbrel Started 0.4s
5.5 查看Umbrel容器状态
检查Umbrel容器状态状态,确保Umbrel容器正常启动。
[root@VM-8-9-centos umbrel]# docker compose ps
WARN[0000] /data/umbrel/docker-compose.yaml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
umbrel dockurr/umbrel "/usr/bin/tini -s /r…" umbrel 33 seconds ago Up 33 seconds 443/tcp, 0.0.0.0:8060->80/tcp, :::8060->80/tcp
5.6 检查Umbrel容器日志
检查Umbrel容器日志,确保Umbrel服务正常运行。
docker compose logs
六、访问Umbrel服务
6.1 访问Umbrel初始页
访问地址:http://IP地址:8060,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
6.2 创建登录用户
自定义创建用户密码,填写完毕后,确认即可。
七、总结
在本次Docker环境下搭建Umbrel操作系统的实践中,我们成功地利用Docker容器技术简化了多种应用的部署流程,实现了无需专用硬件即可快速启动和运行复杂服务的目标。通过遵循详细的配置步骤,即使是初学者也能轻松上手,将 Umbrel 的各项功能集成到个人或团队的工作流中,显著提升了效率。这一实践不仅增强了我们对Docker和自托管解决方案的理解,还提供了一个稳定可靠的平台来探索更多个性化的应用和服务。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)