欢迎光临
我们一直在努力

Yacht部署实战:Docker Compose安装、容器管理与账号配置

文章目录

    • 每日一句正能量
    • 前言
    • 1. 为什么容器一多,命令行就开始变麻烦
      • 1.1 我更关注它能不能做好这些日常操作
    • 2. 部署前先确认 SSH 和 Docker
      • 2.1 SSH 连接设备
      • 2.2 检查 Docker
    • 3. 用 Docker Compose 部署 Yacht
      • 3.1 再确认一次 Docker 版本
      • 3.2 创建目录
      • 3.3 启动容器
    • 4. 实际使用 Yacht
      • 4.1 默认账号登录
      • 4.2 Dashboard 看整体状态
      • 4.3 Apps 列表统一看容器
      • 4.4 单容器详情
      • 4.5 账号和 API Key
    • 5. 本地管理跑通后,再处理异地访问
    • 6. 安装 cpolar
    • 7. 给 Yacht 创建公网地址
    • 8. 配置固定二级子域名
    • 9. Yacht 真正适合什么场景
    • 总结

在这里插入图片描述

每日一句正能量

“太阳依旧会升起,哪怕照亮的只是废墟,这是人间,是值得你奔赴的人间。” 无论经历什么,新的一天总会到来,光总会重现。看清生活的真相,依然热爱生活,并愿意为之投入热情与行动。 愿这些文案,在你心里生根发芽,最终活出属于自己的光芒。

前言

Yacht 是一款面向 Docker 日常管理的 Web 面板,适合已经在 NAS 或 Linux 服务器上部署了不少容器、但不想每次都通过 SSH 完成启停、日志查看、端口检查和基础配置的人使用。它本身以容器方式运行,部署过程相对直接。

本文按照现有实操流程展开:先通过 SSH 进入设备并检查 Docker 环境,再创建 Yacht 目录、编写 docker-compose.yml、启动容器,并通过 8181 端口访问 Web 界面。

本地页面打开后,会继续验证默认账号登录、Dashboard、Apps 列表、单容器详情、启停与删除操作,以及账号密码和 API Key 管理等功能。这样可以确认 Yacht 不只是“容器启动成功”,而是确实能够承担日常 Docker 管理任务。

最后再补充远程访问部分,把本地管理面板从局域网扩展出去。整篇重点放在“部署—登录—查看—操作—管理”这条完整使用链,而不是只把 Yacht 当成一个高颜值界面来介绍。

对于这类 Docker 管理面板,我更关注的是管理链路是否完整:页面能打开只是第一步,后面还要继续验证登录、容器列表、详情、启停和账号设置。只有这些实际操作都能跑通,Yacht 才算真正接管了日常管理中的一部分工作。这样更稳妥,也更清楚。

1. 为什么容器一多,命令行就开始变麻烦

Docker 容器少的时候,命令行其实很直接。

但服务一多以后,真正让人烦的不是记不住某一条命令,而是每次都要重新进 SSH、查容器名、看日志、找端口、确认挂载和环境变量。一次两次无所谓,长期维护就开始变成重复劳动。

image-20260818115227177

Yacht 的定位很明确:它不是重新发明 Docker,而是把一部分高频操作搬到 Web 页面里。

1.1 我更关注它能不能做好这些日常操作

  • 查看容器运行状态;
  • 启动、停止、重启和删除容器;
  • 查看日志;
  • 查看端口、环境变量和挂载;
  • 管理镜像、网络和数据卷;
  • 查看容器资源占用;
  • 管理账号和 API Key。

对我来说,Yacht 真正有用的地方,是把这些“每天都可能碰到、但没必要每次都敲命令”的操作集中起来。

它更适合个人、自托管和家庭 NAS 场景;如果需求是复杂的生产环境编排或更高级的栈管理,它本身也不是冲着那一类场景去的。

2. 部署前先确认 SSH 和 Docker

2.1 SSH 连接设备

先开启 SSH 服务,再从电脑终端连接:

ssh root@IP

image-20260522154032880

SSH 能正常进入以后,再继续检查 Docker。

2.2 检查 Docker

执行:

docker -v
systemctl status -v

原稿里还给出了 Docker 安装参考:

极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手! – cpolar 极点云官网

image-20251017103712618

我会把这一步当成基础检查:先确认 Docker 环境能用,再进入 Yacht 部署。

3. 用 Docker Compose 部署 Yacht

3.1 再确认一次 Docker 版本

执行:

docker –version

image-20260507155742946

3.2 创建目录

先创建目录:

mkdir -p /docker/Yacht
chmod -R 777 /Yacht

fcd4fa4742b3e4a5d4811cef142853ed

接着创建并编辑 docker-compose.yml:

vi docker-compose.yml

写入:

version: "3"
services:
yacht:
image: selfhostedpro/yacht
container_name: yacht
ports:
– 8181:8000
volumes:
– /var/run/docker.sock:/var/run/docker.sock
– ./config:/config
restart: unless-stopped

4c2984095f3ab03c5e6beeccc3a6f5c3

这套配置里,最关键的几个点是:

  • 容器名:yacht
  • Web 映射端口:8181:8000
  • Docker Socket:/var/run/docker.sock:/var/run/docker.sock
  • 配置目录:./config:/config
  • 重启策略:unless-stopped

Yacht 能直接看到和管理宿主机 Docker,靠的就是 Docker Socket 这一层,所以后面看到的容器并不只包括 Yacht 自己。

3.3 启动容器

执行:

docker-compose up -d

7f59308c66bc65942915e9a195165c1a

再检查容器状态:

docker ps

f4d8f551aeaa5aa2f6c1085c2975ddaa

确认容器已经启动以后,在浏览器访问:

http://极空间IP:8181

9e6438a409ebae77ae9a2a0f4809812d

到这里,只能说明 Yacht 页面已经能打开,接下来还要继续验证登录和容器管理功能。

4. 实际使用 Yacht

4.1 默认账号登录

原稿使用的默认账号和密码是:

  • 账号:admin@yacht.local
  • 密码:pass

登录后需要修改密码。

647881f1ad1f2e3b8b333e84b5c80fd4

4.2 Dashboard 看整体状态

登录以后,可以直接看到容器信息。

Dashboard 会集中展示本机 Docker 容器状态和资源占用。原演示环境里能看到 blinko-postgres、blinko-website、linkding、noco、outline、outline-postgres、outline-redis 和 yacht 等容器。

image-20260818105809381

这个页面对我来说最大的价值不是“看起来好看”,而是不用先想起容器名,再回终端里查状态。

4.3 Apps 列表统一看容器

Apps 页面会把容器名称、所属项目、运行状态、镜像、端口和创建时间集中列出来:

image-20260818105953648

在这里可以直接做启停、删除等操作:

image-20260818110325988

如果平时只是处理这些高频操作,确实比反复进入终端更直观。

4.4 单容器详情

进入某个容器详情后,可以查看信息、进程、日志和统计:

image-20260818112524718

同时还能看到:

  • 镜像;
  • 容器 ID;
  • 运行状态;
  • 环境变量;
  • 端口映射;
  • 存储挂载。

对排查某个服务时,这种“先看完整配置,再决定要不要动”的方式更适合日常维护。

4.5 账号和 API Key

右上角账号菜单里还可以查看用户信息、修改密码和管理 API Key:

image-20260818112755598

默认密码是必须尽快修改的一项。Yacht 本身属于 Docker 管理面板,能控制宿主机上的容器,所以账号安全比普通展示类 Web 服务更重要。

5. 本地管理跑通后,再处理异地访问

如果只在家里或者同一局域网内管理 Docker,前面的部分已经够用。

如果还需要在外面查看容器状态、重启服务或处理临时问题,再继续增加远程入口。

这里 cpolar 负责的只是网络访问范围,Yacht 仍然负责容器管理。

6. 安装 cpolar

执行安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装以后检查服务:

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

浏览器通过主机 IP 加 9200 进入 cpolar Web UI:

http://ip:9200

8a6698b1bf26d64ba3645827fbfb1c29

7. 给 Yacht 创建公网地址

进入 cpolar Web UI,创建隧道。

参数按原配置:

  • 隧道名称:yacht
  • 协议:http
  • 本地地址:8181
  • 域名类型:随机域名
  • 地区:China Top

image-20260818153810869

创建以后,在在线隧道列表查看生成的公网地址:

image-20260818154145022

再从其他设备访问测试:

image-20260818154203777

能够打开 Yacht 页面以后,说明 Web 入口已经能从外部访问。

8. 配置固定二级子域名

如果准备长期远程管理,再继续配置固定地址。

image-20250918151358733

进入预留页面,地区选择 china Top,名称使用 yacht:

image-20260818155648107

然后回到隧道列表,找到对应隧道并编辑:

image-20260818155716667

把域名类型改成二级子域名,并填写已经保留成功的名称:

image-20260818155756801

更新以后,再到在线隧道列表查看:

image-20260818155837743

最后用固定地址重新访问:

image-20260818155856430

固定入口配置完成以后,后续就不需要每次重新找随机地址。

9. Yacht 真正适合什么场景

我觉得 Yacht 最适合的,并不是“想彻底告别命令行”的人。

真正适合它的是:已经知道 Docker 是怎么回事,也会用命令行,但日常不想为了看个日志、重启个容器、确认一个端口每次都重新进 SSH。

这种时候,一个足够轻、信息层级不复杂的 Web 面板,确实能省掉很多重复动作。

但如果你的环境需要复杂编排、高级权限控制或大型生产集群管理,Yacht 本身也不是为了完全覆盖这些场景而设计的。

总结

整套流程可以拆成三层:Docker 负责实际运行容器;Yacht 通过 Docker Socket 提供 Web 管理界面;远程访问部分则负责把已经运行好的 8181 页面带到局域网之外。

本地部署完成以后,还要继续验证默认账号登录、Dashboard、Apps 列表、单容器详情、启停操作以及账号安全设置。只有这些功能都能正常使用,Yacht 才真正开始承担 Docker 日常管理任务。

需要外部访问时,再创建 8181 隧道,并继续配置固定二级子域名。这样从本地容器管理到异地维护,使用链路才完整。

如果准备长期使用,我会优先处理默认密码、访问权限和 Docker Socket 带来的管理能力。图形化确实方便,但越方便操作 Docker,越需要把入口和账号管清楚。


转载自:https://blog.csdn.net/u014727709/article/details/167270705 欢迎 👍点赞✍评论⭐收藏,欢迎指正

赞(0)
未经允许不得转载:171主机测评 » Yacht部署实战:Docker Compose安装、容器管理与账号配置
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址