docker 初学者,但是马上要用 docker 部署,大家看下我理解对吗?

2019-03-16 04:32:47 +08:00
 51300520

今天才学就要赶鸭子上架没办法,大家看下我部署方法有没有什么问题,部署到阿里云上面去

1.第一次发布的镜像是比较大的,因为操作系统环境全打包进去了,但是后续迭代跟 git 是一样的,pull 和 push 都是增量的

2.阿里云服务器那边是不是要安装 docker 工具类似安 git 一样来拉镜像以及运行容器

3.我现在部署的是 python 的 web 环境,用 nginx 反向代理负载均衡,用的 uwsgi 转发通信,还涉及到了 etcd,mysql,redis。docker 部署是不是通常应该部署粒度小一点,最好一个容器里面的服务尽量的少,而不是把各种服务塞进一个容器里面,我这情况是不是几个服务最好拆开?

哎,看了整整一天,就学会了一些基本操作,真的压力很大,没办法,网上的很多教程又烂,浏览了下文档模模糊糊的时间又不够

3635 次点击
所在节点    问与答
15 条回复
EvilCult
2019-03-16 06:14:14 +08:00
一个容器干一件事儿,然后
docker compose 了解一下
yzc27
2019-03-16 06:16:23 +08:00
1. 是
2. 是
3. 是
最後也推薦 docker-compose
Humorce
2019-03-16 06:54:07 +08:00
wzdbsss
2019-03-16 07:13:19 +08:00
k8s 走起
zwpaper
2019-03-16 08:47:55 +08:00
所以需求是啥?别光有压力

如果只是用 docker 起来就够了,那很简单的…

还是说有什么特殊需求?
springmarker
2019-03-16 08:49:16 +08:00
Docker compose 或者 kubernetes
obarong
2019-03-16 08:58:31 +08:00
bingohuang/docker-labs: Docker 在线实验室
https://github.com/bingohuang/docker-labs
archersgz
2019-03-16 09:29:05 +08:00
手册+翻译软件,尽量别看那些乱七八糟的教程。
ipwx
2019-03-16 10:09:33 +08:00
我上次看阿里云的手册,好像还没有纯的 Docker 服务,只有 VM 里面装 Docker ?

那么 Docker-Compose 还是个不错的选项。

另外注意编译一定要在同一台机器上编译,不然享受不到 cache,无法增量 push。
cloverstd
2019-03-16 11:40:45 +08:00
你这个没容器编排的话,用起来跟 supervisor 有啥区别
John60676
2019-03-16 14:18:18 +08:00
https://yeasy.gitbooks.io/docker_practice/content/install/centos.html

如期花时间写帖子,不如把这些时间放在谷歌上
hopingtop
2019-03-16 15:34:47 +08:00
容器化有很多细节的。以下是我踩到的一些坑
1.你先看阿里云的机器和你准备用 docker version 是否兼容,特别是文件系统等。
2.容器的大小尽量是,1 个进程一个容器,比如 etcd 集群,就只跑一个 etcd 进程,然后通过可选网络方式组成集群,(host 网络模式使用最简单,性能好)
3.如果有多个项目建议拿一台服务器做私有仓库,存储一些基础镜像。
4.这种相互依赖的系统一定会用到容器编排,小项目直接用 docker-compose 就可以了。k8s 玩起来还是需要底蕴的,不然出问题,两眼黑。
5.部署好后多观察日志,不清楚阿里云服务器是否支持类似 zabbix 监控。
hopingtop
2019-03-16 15:36:44 +08:00
@hopingtop
补充一下,生产环境有条件,尽量关掉 swap 吧,特别是 redis mysql etcd 这种存储服务
liujj
2019-03-16 15:53:47 +08:00
1、否,docker 镜像是层结构,可以与 git 仓库对比。但是不同的是,我们在 docker 中发布新镜像一般是把最上的一或几个层予以替换,相对的 git 永远是把变更用新的层追加上去
2、是,一般 redhat 系有 yum,debain 系有 apt,先去官网按指引添加源,然后直接 install docker-ce。ce 是社区版的意思。
3、推荐几个组件分离,docker 的最佳实践是一个容器一个进程。把他们置于同一个虚拟网络中,在宿主机暴露端口。有人建议你用 k8s,对于你的需求而言太重了,用 docker-composer 即可。
qihu3721
2019-03-17 15:18:41 +08:00
nginx 可以试试这个
https://github.com/jwilder/nginx-proxy
自动发现 web 容器,并生成配置文件。

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

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

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

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

© 2021 V2EX