OpenMediaVault (OMV) 是一个基于Debian的NAS操作系统,它提供了友好的Web界面来管理存储和服务。在OMV中使用Docker可以让你轻松部署各种容器化应用。
首先安装OMV-Extras插件:
openmediavault-omvextrasorg
插件安装Docker:
# 更新软件包列表
sudo apt-get update
# 安装必要依赖
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
# 添加Docker仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
# 安装Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 验证安装
sudo docker run hello-world
Portainer是一个Docker管理UI,非常适合初学者:
# 创建Portainer数据卷
docker volume create portainer_data
# 运行Portainer容器
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
安装完成后,通过浏览器访问 http://你的OMV-IP:9000
来使用Portainer。
# 查看运行的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 拉取镜像
docker pull 镜像名称
# 运行容器
docker run [选项] 镜像名称
# 停止容器
docker stop 容器ID或名称
# 启动已停止的容器
docker start 容器ID或名称
# 删除容器
docker rm 容器ID或名称
# 删除镜像
docker rmi 镜像ID或名称
在OMV中,你可以创建docker-compose.yml
文件来管理多个容器。
version: "3"
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=100
volumes:
- /path/to/config:/config
- /path/to/media:/media
ports:
- 8096:8096
restart: unless-stopped
version: '3'
services:
nextcloud:
image: nextcloud
container_name: nextcloud
volumes:
- /path/to/nextcloud:/var/www/html
environment:
- PUID=1000
- PGID=100
ports:
- 8080:80
restart: unless-stopped
在OMV中,建议将Docker数据存储在非系统分区上:
docker
)/etc/docker/daemon.json
:
json
{
"data-root": "/path/to/your/docker/folder"
}
bash
sudo systemctl restart docker
如果遇到权限问题,可以将你的用户添加到docker组:
sudo usermod -aG docker 你的用户名
然后注销并重新登录。
如果某个端口已被占用,可以更改容器映射端口或停止占用该端口的服务。
定期清理未使用的镜像和容器:
# 清理停止的容器、未使用的网络和悬空镜像
docker system prune
# 清理所有未使用的镜像
docker system prune -a
通过以上步骤,你应该能够在OMV中顺利使用Docker来部署各种服务。Portainer提供的图形界面会让管理变得更加简单直观。