WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用Yacht管理docker容器

Posted on 2022-12-02 22:58  WebEnh  阅读(154)  评论(0编辑  收藏  举报

 

 

 

 


今天是六一儿童节,祝大小朋友们节日快乐!

从今天开始起,防范区的上海市民可以自由出入小区了。始于愚人节,终于儿童节,整整两个月时间,终于迎来了期盼已久的自由和正常。

周一上午的的核酸可能是我们最后一次集体核酸,因为当天下午已经把棚子都撤掉了,但抗原还是一天两次的做着,周二、周三都是。

周二发了最后一拨物资,同时也接到了公司通知,6 月 6 日上班,这么吉利的开工日期,希望未来的日子从此都是坦途,让我们全力以“复”。

什么是 Yacht ?

Yacht 是一个用于管理 docker 容器的 Web 界面,重点是提供一键式部署的模板。可以把它想象成一个分散的服务器应用商店,任何人都可以为其制作软件包。

 


安装
与容器相关的应用,都需要绑定挂载 /var/run/docker.sock ,包括我们之前安装的 portainer、watchtower,Glances,Netdata 、lazydocker 等。

什么是 /var/run/docker.sock ?

/var/run/docker.sock 是 Docker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

 

图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd

但是群晖的 Docker 管理器并不支持挂载 /var/run/docker.sock 文件,所以这次我们需用命令行来安装

命令行安装还是比较简单的,用 SSH 客户端连上群晖,执行下面👇的命令

老苏常用的 SSH 客户端主要是 Finalshell 和 PuTTY

# 在 docker 中新建目录 yacht 和子目录 config
mkdir -p /volume2/docker/yacht/config

# 进入 yacht
cd /volume2/docker/yacht

# 启动容器
docker run -d \
--name yacht \
-p 8181:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume2/docker/yacht/config:/config \
--restart unless-stopped \
selfhostedpro/yacht
1
2
3
4
5
6
7
8
9
10
11
12
13
14


或者你可以用 docker-compose,将下面的内容保存为 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
- /volume2/docker/yacht/config:/config
restart: unless-stopped
1
2
3
4
5
6
7
8
9
10
11
执行下面的命令

# 在 docker 中新建目录 yacht 和子目录 config
mkdir -p /volume2/docker/yacht/config

# 进入目录
cd /volume2/docker/yacht

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d
1
2
3
4
5
6
7
8
9
10
也可以将 docker-compose.yml 的内容放到 portainer 中执行

环境变量
Yacht 中可以使用下面的环境变量。这些变量是可选项,不是强制性的,可以根据自己的需要添加

可变 值
PUID 设置容器将运行的 userid
PGID 设置容器将运行的 groupid
SECRET_KEY 将此设置为随机字符串可确保您在 Yacht 重新启动之间不会被注销
ADMIN_EMAIL 这将设置默认 Yacht 用户的电子邮件
DISABLE_AUTH 这将禁用 Yacht 后端的身份验证。除非您使用 Authelia 之类的东西来管理身份验证,否则不建议这样做。
DATABASE_URL 如果您想让 Yacht 使用 SQL 之类的数据库而不是内置的 sqlite,您可以将这些信息按以下格式放在此处:postgresql://user:password@postgresserver/db
COMPOSE_DIR 这是容器内的路径,其中包含具有 docker compose 项目的文件夹。
使用
在浏览器中输入 http://群晖IP:8181 就能看到主界面

默认登录名是 admin@yacht.local,密码是 pass

 

登录成功后就能看到主界面

 

记得修改邮件和密码

 

小结
界面看着比 portainer 要好看一些,但是比较卡。

功能上来说该有的都有,但感觉还是比较早期,期待会越来越好吧

 

参考文档
SelfhostedPro/Yacht: A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.
地址:https://github.com/SelfhostedPro/Yacht

Install Yacht | Yacht
地址:https://yacht.sh/docs/Installation/Install/
————————————————
版权声明:本文为CSDN博主「杨浦老苏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wbsu2004/article/details/125078037