有没有能把 docker 整个镜像打包成二进制的工具

2024-03-17 10:37:08 +08:00
 IdJoel

有时候有些简单的应用,需要依赖很多服务,比如 Mysql redis 之类的 但是这些服务新手安装又有些难度,写 shell 脚本去安装又要考虑很多 Linux 发行版。

有没有一个简单的办法,把 docker 和 docker image 直接打包成一个 zip 或者 二进制文件,用户一运行,什么都有了,最好还能做些简单的管理。

6424 次点击
所在节点    问与答
36 条回复
lonelykid
2024-03-17 10:40:59 +08:00
二进制包不是也得考虑不同发行版吗?不用 Shell 可以用 Python ,现在很多 Linux 都默认自带 Python 环境。
momocraft
2024-03-17 10:46:01 +08:00
有 虚拟机镜像
tairan2006
2024-03-17 10:46:26 +08:00
shell 脚本为啥要考虑发行版?你用了 docker 就不需要考虑发行版了啊
Muniesa
2024-03-17 10:49:12 +08:00
用户一运行,什么都有了:把你要用的服务打包成镜像,写个脚本安装 docker 然后运行容器,不就可以了吗
mogita
2024-03-17 10:50:27 +08:00
你是不是在找 Docker Compose...
billzhuang
2024-03-17 10:53:43 +08:00
@ck65 hahahaha
billzhuang
2024-03-17 10:54:17 +08:00
你把 image 暴露给用户?
IdJoel
2024-03-17 11:04:10 +08:00
@lonelykid python 写脚本 安装 MySQL 和 redis 不一样又发行版不同需要做兼容的问题吗
IdJoel
2024-03-17 11:04:36 +08:00
@momocraft 不太想用虚拟机,性能损耗有点大,现在的 vps 基本都是虚拟化出来的,再套一层应该性能更差
IdJoel
2024-03-17 11:05:09 +08:00
@tairan2006 安装 mysql redis nsq 啥的需要考虑发行版啊
IdJoel
2024-03-17 11:05:33 +08:00
@billzhuang 开源的程序啊,就是暴漏给用户的
IdJoel
2024-03-17 11:06:16 +08:00
@ck65 我当然知道 docker compose 啊,但是这不得写脚本先给用户安装个 docker 然后运行吗?
phrack
2024-03-17 11:18:46 +08:00
fregie
2024-03-17 11:21:59 +08:00
友情提示:op 说的 docker 镜像并非大家理解的 docker 镜像,而是 docker 程序本身的镜像
就是说他想要一个能在所有发行版上运行 docker 服务的方法
tairan2006
2024-03-17 11:24:40 +08:00
@IdJoel 你真的会用 docker 么,docker 本来就是跨发行版的……

至于安装 docker 的脚本,官方就有: https://get.docker.com/
lonelykid
2024-03-17 11:25:02 +08:00
@IdJoel #8 MySQL 和 Redis 打包成 Docker 镜像,用 Python 安装配置 Docker 下载并运行相应镜像。镜像里的不用考虑发行版,Docker 网上都有相应脚本直接一键安装。Python 和 Shell 的作用其实都是一样的,都只是启动脚本而已,只是相比 Shell 脚本更易读,修改配置文件什么的更容易。
ETiV
2024-03-17 11:27:24 +08:00
https://github.com/NilsIrl/dockerc

dockerc - compile docker images to standalone portable binaries

没用过,你自己尝试下
clemente
2024-03-17 11:42:07 +08:00
docker save <image_name> > <二进制包.tar>
0o0O0o0O0o
2024-03-17 11:43:21 +08:00
前几天看到的,就是楼上提到的 dockerc
billzhuang
2024-03-17 12:01:10 +08:00
但你如果是个开源的服务,需要依赖 redis 、mysql 的话 ,但如果目标用户如果连 docker 安装都不会,他们怎么解决你系统的问题呢。

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

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

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

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

© 2021 V2EX