今天才学就要赶鸭子上架没办法,大家看下我部署方法有没有什么问题,部署到阿里云上面去
1.第一次发布的镜像是比较大的,因为操作系统环境全打包进去了,但是后续迭代跟 git 是一样的,pull 和 push 都是增量的
2.阿里云服务器那边是不是要安装 docker 工具类似安 git 一样来拉镜像以及运行容器
3.我现在部署的是 python 的 web 环境,用 nginx 反向代理负载均衡,用的 uwsgi 转发通信,还涉及到了 etcd,mysql,redis。docker 部署是不是通常应该部署粒度小一点,最好一个容器里面的服务尽量的少,而不是把各种服务塞进一个容器里面,我这情况是不是几个服务最好拆开?
哎,看了整整一天,就学会了一些基本操作,真的压力很大,没办法,网上的很多教程又烂,浏览了下文档模模糊糊的时间又不够
![]() | 1 EvilCult 2019-03-16 06:14:14 +08:00 via iPhone 一个容器干一件事儿,然后 docker compose 了解一下 |
![]() | 2 yzc27 2019-03-16 06:16:23 +08:00 via iPhone ![]() 1. 是 2. 是 3. 是 最後也推 docker-compose |
![]() | 3 rzti483NAJ66l669 2019-03-16 06:54:07 +08:00 |
![]() | 4 wzdbsss 2019-03-16 07:13:19 +08:00 via iPhone k8s 走起 |
![]() | 5 ikw 2019-03-16 08:47:55 +08:00 via iPhone 所以需求是啥?别光有压力 如果只是用 docker 起来就够了,那很简单的… 还是说有什么特殊需求? |
![]() | 6 springmarker 2019-03-16 08:49:16 +08:00 via Android Docker compose 或者 kubernetes |
![]() | 7 obarong 2019-03-16 08:58:31 +08:00 ![]() bingohuang/docker-labs: Docker 在线实验室 https://github.com/bingohuang/docker-labs |
8 archersgz 2019-03-16 09:29:05 +08:00 手册+翻译软件,尽量别看那些乱七八糟的教程。 |
![]() | 9 ipwx 2019-03-16 10:09:33 +08:00 ![]() 我上次看阿里云的手册,好像还没有纯的 Docker 服务,只有 VM 里面装 Docker ? 那么 Docker-Compose 还是个不错的选项。 另外注意编译一定要在同一台机器上编译,不然享受不到 cache,无法增量 push。 |
![]() | 10 cloverstd 2019-03-16 11:40:45 +08:00 via iPhone 你这个没容器编排的话,用起来跟 supervisor 有啥区别 |
![]() | 11 John60676 2019-03-16 14:18:18 +08:00 |
![]() | 12 hopingtop 2019-03-16 15:34:47 +08:00 容器化有很多细节的。以下是我踩到的一些坑 1.你先看阿里云的机器和你准备用 docker version 是否兼容,特别是文件系统等。 2.容器的大小尽量是,1 个进程一个容器,比如 etcd 集群,就只跑一个 etcd 进程,然后通过可选网络方式组成集群,(host 网络模式使用最简单,性能好) 3.如果有多个项目建议拿一台服务器做私有仓库,存储一些基础镜像。 4.这种相互依赖的系统一定会用到容器编排,小项目直接用 docker-compose 就可以了。k8s 玩起来还是需要底蕴的,不然出问题,两眼黑。 5.部署好后多观察日志,不清楚阿里云服务器是否支持类似 zabbix 监控。 |
![]() | 13 hopingtop 2019-03-16 15:36:44 +08:00 ![]() @hopingtop 补充一下,生产环境有条件,尽量关掉 swap 吧,特别是 redis mysql etcd 这种存储服务 |
14 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 即可。 |
![]() | 15 qihu3721 2019-03-17 15:18:41 +08:00 |