- 主题:需要在多种linux平台上运行的代码,怎么选择编译器版本?
docker大法啊,所有依赖全打在容器里,到哪都一样
【 在 z16166 的大作中提到: 】
: 1、编译器是gcc。需要在多种linux平台上运行,这些平台上自带的libstdc++.so可能差异较大。
: 2、但是我又想用C++20(新版本std带来的好处,不用就是暴殄天物?还有就是一部分代码来自MSVC,MSVC已经完全支持C++20),而不是限定在C++11或者C++14。
: 目前的想法是:
: ...................
--
FROM 115.171.108.*
docker容器运行起来就是个普通进程,基本没见过用不了的程序
【 在 z16166 的大作中提到: 】
: 客户端软件,用不了docker
--
FROM 115.171.108.*
kernel module?没问题啊,用privileged mode
另外,不懂逃逸docker是什么意思
docker不过是layered fs加namespace,跟普通进程基本是没区别的
【 在 z16166 的大作中提到: 】
: 我这个恰恰用不了,带有driver,是逃逸了docker的。
--
FROM 115.171.108.*
用不用docker,权限控制都是一样的吧。docker命令需要root权限啊
【 在 z16166 的大作中提到: 】
: 谢谢。我学习一下你说的这个部署方式
: 不过最终可能不会用docker,因为可能无法阻止用户用docker命令轻松停掉我的程序。
--
FROM 115.171.108.*
docker不能打包kernel,但libc可以,跨发行版都没问题。很多人为了减少镜像体积,用alpine作为base image,打包出来的应用可以跑在各种发行版上
但实际上,只要你的应用对kernel版本没有依赖,同一个容器在不同版本kernel上跑没有问题
【 在 haha103 的大作中提到: 】
: 用docker发布应该还是有kenerl和libc限制
--
FROM 115.171.108.*
印象中有些旧版本的docker支持centos6的
如果是连docker都装不上的系统,楼主估计也会开个大价格才愿意支持吧。大不了单给它编译个版本
【 在 haha103 的大作中提到: 】
: 不知道楼主有没有需要跑在很老的版本上,比如centos6, 这个恐怕docker本身都跑不舒服 :)
--
FROM 115.171.108.*