Docker 怎么这么难用,是我方法不对吗?

2017-10-28 11:38:58 +08:00
 baskice
宣传上说 docker 是 production read,同一软件镜像后分发任意系统直接用。听了周围人推荐,开始用 docker。

我今天为了配一个简单的 nginx+varnish,支持 https 的反向代理缓存用 docker 弄到现在都没成功。平常 apt-get 早就弄完了。

我遇到成吨的问题:
1 虽然宣传说镜像直接用,但实际使用发现要对上系统版本才能稳定运行。(比如针对 centos 制作的版本在 debian 下压测不是很稳定)
2 dockerhub 上现有的 varnish 和 nginx 镜像仅有少数几个标明系统(还有的镜像极大,连系统都打包了??)

3 改为用现有正在跑的 debian9 机器做镜像,发给只有 debian8 的新服务器上,结果跑不起来。似乎是因为新机器的 apt-get 来的 docker 版本比生产机器上的旧,docker 不做向后兼容的吗?

4 docker 跟 systemd 有仇?
5745 次点击
所在节点    问与答
19 条回复
514146235
2017-10-28 11:44:42 +08:00
用法有误。鉴定完毕。
halfer53
2017-10-28 11:45:13 +08:00
话说现在萌娘百科怎么样了?有希望解封吗
e9e499d78f
2017-10-28 11:45:48 +08:00
在 dockerhub 上看他们的 Dockerfile, 就能看到是什么系统
zsj950618
2017-10-28 11:50:12 +08:00
你 debian8 上的 docker 怎么装的?反正不要装源里的 docker.io 。。那个包很坑的。。
isCyan
2017-10-28 13:02:29 +08:00
在 Docker 里装软件还是编译好,直接用包管理总会有问题。
你可以把官方的 Dockerfile 或者别人写的拿来修改,这样比较少踩坑。
其实 Docker 挺方便的。
isCyan
2017-10-28 13:04:04 +08:00
诶,Docker 为啥要用 systemd ?程序不能在 daemon 状态运行,一个镜像 /容器只跑一个程序啊。
xi4oh4o
2017-10-28 13:55:01 +08:00
一般去 hub.docker.com 找官方的就好了,多数都有 alpine 系统很小,内网 docker network 串起来就好了,外部端口提前提前规划好
mrcn
2017-10-28 14:20:11 +08:00
补充一个,在不支持 systemd 的系统上,令安装者极为不适……
sw0rd3n
2017-10-28 14:22:41 +08:00
试一下 singularity
azh7138m
2017-10-28 14:30:01 +08:00
docker 大部分时候是一个虚拟机的形式跑的,所以经常体积看上去有点大,其实选个合适的系统版本也有可以控制在 1G 以内
znood
2017-10-28 16:16:39 +08:00
lz 明显还没理解 docker,docker 和宿主机共享内核,但是有自己的文件系统。
你看到的那些大的镜像是因为 cantos 喝 Debian 本身机大,如果是 alpine 的就很小,其实只要运行程序需要的依赖库一样没什么差别。
希望 lz 了解一下 docker 之后再来

明显是你的问题,如果了解清楚之后在一些地方确实使用方便很多
ipwx
2017-10-28 16:18:08 +08:00
docker 容器不用 systemd。docker 用 docker daemon 自己管理。
notgood
2017-10-28 16:45:26 +08:00
@znood 感谢回复!我最近在看 DOcker 看从入门到实践 ,楼主上面提的第一个问题我也碰到了,请问你知道是什么原因吗?谢谢!
znood
2017-10-28 17:32:02 +08:00
@notgood 目前没遇到过,不稳定是哪种?网络?进程退出?
defunct9
2017-10-28 21:33:19 +08:00
用法错误❌
gwind
2017-10-29 12:40:56 +08:00
docker 和 systemd 是两个不同领域的概念

需要明确 Container 基本情况:
1. Application Container, 如 docker, rkt,本质是管理进程,类比 chroot。需要独立的 root fs。无 system init 过程
2. System Container, 如 lxc, lxd。有 system init 过程。

目前大部分情景下,大家讲容器 /Container,指的都是 Application Container (或者直接是 Docker )
fzinfz
2017-10-29 13:50:23 +08:00
dan381006472
2018-02-03 11:59:57 +08:00
dcoder
2018-10-22 09:32:05 +08:00
4 docker 跟 systemd 有仇?

@baskice 你的理解是对了,docker 就是想把 systemd 架空.
一旦你开始试着用 docker 全家桶,很多过去的 DevOps 配置经验就不管用了.
你用以前的经验,在 docker 里配个最简单的东西,很可能就是不 work... 非常烦

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

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

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

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

© 2021 V2EX