首页
/ SelfhostedPro/Yacht项目Docker Compose部署指南:Mac与Linux环境详解

SelfhostedPro/Yacht项目Docker Compose部署指南:Mac与Linux环境详解

2025-07-09 04:32:28作者:伍希望

项目概述

SelfhostedPro/Yacht是一个基于Web的Docker管理界面,它为用户提供了可视化操作Docker容器的能力。通过Yacht,用户可以轻松管理容器、镜像、网络和卷,而无需记忆复杂的命令行指令。本文将详细介绍如何在Mac和Linux系统上使用Docker Compose部署Yacht服务。

环境准备

在开始部署前,请确保您的系统已满足以下条件:

  1. Docker已安装并正常运行
  2. Docker Compose已安装(通常随Docker一起安装)
  3. 系统具有足够的资源运行容器(至少1GB可用内存)

Docker Compose文件解析

以下是Yacht的Docker Compose配置文件详解:

version: '3'
services:
  yacht:
    container_name: yacht
    restart: unless-stopped
    ports:
      - 8000:8000
    volumes:
      - yacht:/config
      - /var/run/docker.sock:/var/run/docker.sock
      - /Users/<username>/Development/Docker/compose:/compose
    environment:
      - PUID=0
      - PGID=0
      - COMPOSE_DIR=/compose
    image: selfhostedpro/yacht
volumes:
  yacht:

关键配置说明

  1. 容器名称container_name: yacht指定了容器的名称为yacht,便于识别和管理。

  2. 重启策略restart: unless-stopped确保容器在非手动停止的情况下会自动重启,提高服务可用性。

  3. 端口映射8000:8000将容器内部的8000端口映射到主机的8000端口,用户可通过http://localhost:8000访问Yacht界面。

  4. 卷挂载

    • yacht:/config:使用命名卷yacht来持久化Yacht的配置数据
    • /var/run/docker.sock:/var/run/docker.sock:挂载Docker守护进程的Unix套接字,使Yacht能够与Docker引擎通信
    • /Users/<username>/Development/Docker/compose:/compose:将主机上的Docker Compose文件目录映射到容器内部(Mac用户需替换<username>为实际用户名)
  5. 环境变量

    • PUID=0PGID=0:指定容器以root用户身份运行(生产环境建议使用非root用户)
    • COMPOSE_DIR=/compose:指定容器内Docker Compose文件的目录路径
  6. 镜像来源image: selfhostedpro/yacht指定了使用的Yacht官方镜像。

部署步骤

1. 创建必要的目录结构

对于Mac用户,需要先创建Compose文件目录:

mkdir -p /Users/$(whoami)/Development/Docker/compose

对于Linux用户,可以修改为适合的路径,例如:

mkdir -p /opt/docker/compose

2. 创建Docker Compose文件

将上述配置保存为docker-compose.yml文件,Mac用户需要将路径中的<username>替换为实际的用户名。

3. 启动Yacht服务

在包含docker-compose.yml文件的目录中执行:

docker-compose up -d

4. 访问Web界面

服务启动后,打开浏览器访问:

http://localhost:8000

安全注意事项

  1. 权限控制:当前配置使用root用户运行容器(PUID=0,PGID=0),在生产环境中建议创建专用用户并调整权限。

  2. Docker套接字:挂载/var/run/docker.sock意味着容器拥有与主机相同的Docker权限,应确保Yacht服务的安全性。

  3. 网络暴露:默认配置将服务暴露在8000端口,如需公网访问,应考虑配置HTTPS和身份验证。

常见问题解决

  1. 权限问题:如果遇到权限错误,尝试:

    sudo chown -R $USER:$USER /Users/<username>/Development/Docker
    
  2. 端口冲突:如果8000端口被占用,可修改ports配置为其他端口,如8080:8000

  3. 数据持久化:所有配置数据存储在yacht卷中,删除容器不会丢失配置。

进阶配置

使用非root用户运行

修改环境变量:

environment:
  - PUID=1000
  - PGID=1000

并确保挂载的目录对新用户有适当权限。

添加HTTPS支持

可以通过反向代理(如Nginx或Traefik)为Yacht添加HTTPS支持,提高安全性。

总结

通过本文介绍的Docker Compose配置,用户可以轻松在Mac和Linux系统上部署SelfhostedPro/Yacht服务。Yacht提供了友好的Web界面,大大简化了Docker容器管理的复杂度,特别适合不熟悉命令行操作的用户使用。根据实际需求,用户可以灵活调整配置,如修改数据存储路径、使用非root用户运行等,以满足不同场景下的安全性和便利性需求。