Docker是不是服务器版的Electron?

我想部署一个应用,发现他要数据库,反向代理,可是这些我已经安装过了。这不就是你想安装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可不支持用户这样用。

1 个赞

基于有限样本观察,GO语言写的docker容器一般都很小。比如之前推荐的gist rss 阅读器,安装好后容器大小仅~50M。

技术上来说:完全不是

但是,能问出这个问题的人,也很难讲的清楚为什么不是

所以,还是应该回答:啊啊,是的,我也是这么觉得,其实他俩就是一个东西