我想部署一个应用,发现他要数据库,反向代理,可是这些我已经安装过了。这不就是你想安装vscode,结果又在你电脑安装一个chromium,区别可能是,根据部署的应用不同,运行你通过参数来实现使用现有的服务实例。什么vscode,steam强制使用自己的chromium。
有没有可能,该应用可以直接使用你的数据库,你的反代。
我说了呀,根据应用的不同,可能允许你使用现有的服务实例。也有可能不允许。
完全不一样的东东。
Docker 只是解决了主程序的 .so 依赖问题。一般说,Docker Image 不会往里面打包非主程序之外的软件。
至于它用是另外一个跑在 docker 里面的数据库,还是你本机安装的数据库,完全取决于你怎么配置你的主程序。
如果主程序是 python 写的,通常还直接支持 sqlite3 呢。像我们自己内部使用的 CRM,连个数据库都懒得弄,直接上 sqlite3 相当省事。
我感觉除非是里面包了虚拟机,否则docker镜像其实跟tauri应用更像。
docker镜像用的是系统内的Linux内核。tauri用的是系统的webview,但种类更多,chromium到webkit都有
Electron是自带chromium内核,用的不是系统内的
八竿子打不着……
还是不太一样的,
Electron是完全粘好的积木,每个都是基于自带的chromium内核,必须使用自带的内容,用户拆不开。
Docker类似于多个大块拼成的积木,用的是系统内的Linux内核,一个完整的可用的docker是多个应用的镜像组合而成的,不想要的部分可以用系统本身的。
比如一个看起来直接可用的 WordPress 镜像默认是带有WordPress+MySQL+Nginx三个应用镜像的。
version: '3'
services:
db:
image: mysql:8.0
container_name: wordpress_db
volumes:
- db_data:/var/lib/mysql
wordpress:
image: wordpress:fpm-alpine
container_name: wordpress_app
restart: always
volumes:
- wordpress_data:/var/www/html
depends_on:
- db
nginx:
image: nginx:latest
container_name: wordpress
volumes:
- wordpress_data:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- wordpress
volumes:
db_data:
wordpress_data:
但是用户大可以改成只启动WordPress,其他都用本机的服务。
version: '3'
services:
wordpress:
image: wordpress:fpm-alpine
container_name: wordpress
ports:
- "9000:9000"
environment:
WORDPRESS_DB_HOST: host.docker.internal #直接怼本机IP上
volumes:
- ./html:/var/www/html
extra_hosts:
- "host.docker.internal:host-gateway"
Electron可不支持用户这样用。
基于有限样本观察,GO语言写的docker容器一般都很小。比如之前推荐的gist rss 阅读器,安装好后容器大小仅~50M。
技术上来说:完全不是
但是,能问出这个问题的人,也很难讲的清楚为什么不是
所以,还是应该回答:啊啊,是的,我也是这么觉得,其实他俩就是一个东西