Docker 启动命令太长了,有没有约定好配置的封装工具?

2022-08-27 15:38:05 +08:00
 songhuangcn

Docker 有很多优点:

  1. 不依赖操作系统,怎么升级系统都不怕
  2. 由于第 1 点,方便运行一些操作系统已经不支持的软件版本
  3. 因为隔离性,很方便同时运行一个软件的不同版本(开发不同项目时经常需要)

但是 Docker 也有一些缺点:

  1. 配置太繁琐,新人需要了解一堆新概念:volume, publish, export

不知道有没有用户有跟我一样的需求:就是想在电脑上用 Docker 跑起来一个服务比如 MySQL ,但不需要处理太多容器的细节和配置,你跑的跟原生 MySQL 一样就行了,跑完就能用 3306 端口,日志和数据在固定的路径能找到。

总结来说这个工具用户接口很像包管理工具,比如 Homebrew:

brew services start mysql

但是底层用的是 Docker ,并帮忙我们配置好了启动命令。

我自己没找到这类工具,就搞了一个原型版本: https://github.com/songhuangcn/dpm

大家有这类工具推荐吗?

2769 次点击
所在节点    开源软件
27 条回复
Jzdoxc
2022-08-28 12:15:32 +08:00
docker portainer 了解一下, 网页管理容器,先直接 run 容器在进行修改容器的各项参数就会显示
nosugar
2022-08-28 12:35:46 +08:00
这个不是每次都要手动敲的,放脚本自动化
glamoroGG
2022-08-28 13:17:46 +08:00
貌似大家都是手敲命令
ByteCat
2022-08-28 14:34:15 +08:00
docker compose 完全可以满足你说的这些东西,就算不是项目也行啊,单个容器,按 yaml 写你的 docker 启动参数就行了
winglight2016
2022-08-28 15:22:10 +08:00
lz 的标题是 docker 命令太长,需要短版本,仔细一看内容,又变成了配置繁琐,新人需要了解一堆概念。

其实,lz 需要的是一个运维,能帮你把容器装好,对吧?
onetown
2022-08-28 15:45:03 +08:00
我们现在的应用基本上都是以容器方式交付的, 但是启动的方式还是试用的 systemd , 因为需要符合客户自己平时运维的系统, 以及他们自己也有一些运维工具, 例如通过 systemctl status $service_name 来判断服务的运行状况

所以我们在交付的时候, 提供了 systemd 的描述文件, 也提供了 docker-compose, 用 systemd 也会用 After, Requires 来控制不同容器的启动顺序。

[Unit]
Description=Redis Container
After=docker.service
Requires=docker.service

[Service]
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/docker stop %n
ExecStartPre=-/usr/bin/docker rm %n
ExecStartPre=/usr/bin/docker pull redis
ExecStart=/usr/bin/docker run --rm --name %n redis

[Install]
WantedBy=multi-user.target
night98
2022-08-28 16:55:00 +08:00
portnaier ,里面有个应用市场,直接填参数就能运行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/875814

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX