有时候有些简单的应用,需要依赖很多服务,比如 Mysql redis 之类的 但是这些服务新手安装又有些难度,写 shell 脚本去安装又要考虑很多 Linux 发行版。
有没有一个简单的办法,把 docker 和 docker image 直接打包成一个 zip 或者 二进制文件,用户一运行,什么都有了,最好还能做些简单的管理。
1
lonelykid 249 天前
二进制包不是也得考虑不同发行版吗?不用 Shell 可以用 Python ,现在很多 Linux 都默认自带 Python 环境。
|
2
momocraft 249 天前
有 虚拟机镜像
|
3
tairan2006 249 天前
shell 脚本为啥要考虑发行版?你用了 docker 就不需要考虑发行版了啊
|
4
Muniesa 249 天前 via Android
用户一运行,什么都有了:把你要用的服务打包成镜像,写个脚本安装 docker 然后运行容器,不就可以了吗
|
5
ck65 249 天前
你是不是在找 Docker Compose...
|
6
billzhuang 249 天前 via iPhone 1
@ck65 hahahaha
|
7
billzhuang 249 天前 via iPhone
你把 image 暴露给用户?
|
10
IdJoel OP @tairan2006 安装 mysql redis nsq 啥的需要考虑发行版啊
|
11
IdJoel OP @billzhuang 开源的程序啊,就是暴漏给用户的
|
13
phrack 249 天前 via iPhone
|
14
fregie 249 天前 2
友情提示:op 说的 docker 镜像并非大家理解的 docker 镜像,而是 docker 程序本身的镜像
就是说他想要一个能在所有发行版上运行 docker 服务的方法 |
15
tairan2006 249 天前
|
16
lonelykid 249 天前
@IdJoel #8 MySQL 和 Redis 打包成 Docker 镜像,用 Python 安装配置 Docker 下载并运行相应镜像。镜像里的不用考虑发行版,Docker 网上都有相应脚本直接一键安装。Python 和 Shell 的作用其实都是一样的,都只是启动脚本而已,只是相比 Shell 脚本更易读,修改配置文件什么的更容易。
|
17
ETiV 249 天前 via iPhone 1
https://github.com/NilsIrl/dockerc
dockerc - compile docker images to standalone portable binaries 没用过,你自己尝试下 |
18
clemente 249 天前
docker save <image_name> > <二进制包.tar>
|
19
0o0O0o0O0o 249 天前 via iPhone 1
前几天看到的,就是楼上提到的 dockerc
|
20
billzhuang 249 天前 via iPhone
但你如果是个开源的服务,需要依赖 redis 、mysql 的话 ,但如果目标用户如果连 docker 安装都不会,他们怎么解决你系统的问题呢。
|
21
IdJoel OP @billzhuang 很多东西。例如游戏服务器 他们单纯就是想自己搭一分。根本不关心什么代码啊
|
22
0o0O0o0O0o 249 天前
如果只是怕写 shell 脚本麻烦,其实 docker 提供了
https://github.com/docker/docker-install 其实,如果写 shell 脚本的麻烦都无法接受,你提到的这类操作会带来的麻烦只会更多吧? |
23
expy 249 天前
参考各种 vps 一键 dd 重装系统脚本,做成系统镜像灌进去。
|
24
totoro625 249 天前
写 shell 脚本自动安装 docker 并运行 Mysql redis 容器
用户只需要交互 shell 脚本就能控制容器 |
25
momocraft 249 天前
或者学写 cloud-init yaml
很多云镜像都支持 用户创建虚拟机时指定你创建的 cloud-init yaml ,VM 创建好后自动运行,安装好所有东西 |
26
ytlm 249 天前
docker export 和 chroot 命令研究一下试试
|
27
0312birdzhang 249 天前 1
Snap 、Appimage 、Flatpak 等是不是你要找的
|
28
IdJoel OP @0312birdzhang 我研究研究,但是印象中这东西应该是针对一个应用开发的,不是针对应用 + 服务开发的
|
31
lniwn 248 天前 via iPhone
podman-compose
|
35
blankmiss 247 天前
只要是 linux 服务 就一定支持 dd 命
|