社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

用Yacht管理docker容器

各种折腾 • 1 年前 • 141 次点击  

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

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

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

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


什么是 Yacht ?

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

安装

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

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

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

title

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

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

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

老苏常用的 SSH 客户端主要是 FinalshellPuTTY

# 在 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

或者你可以用 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

执行下面的命令

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

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

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

# 一键启动
docker-compose up -d

也可以将 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/

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/135412
 
141 次点击