docker部署遇到的坑

我是在Ubuntu的环境工作。其实我在阿里云上以及我的台式机上都部署过docker,啥问题没有。可今天部署的时候出现了问题。

1、用apt-get直接安装docker和docker-compose都不是最新的版本。而旧版本有心功能真是用不了。如果安装最新版的,就必须按照官网的步骤一步一步来。

2、我开始是在ubuntu15.10上安装docker,结果,你妹怎么装都不行。后来又详细看了遍官网,需要ubuntu16.04或者ubuntu14.04,总之15.10不行。后来我换成了16.04,结果可以了。为之前的粗心大意感到惭愧。以后无论做什么,都不能想当然,要仔细看文档。

3、安装docker-compose,直接按照官网那个步骤,提示拒绝访问,我猜想可能是因为我这个虚拟机的配置原因,不管了,我直接把二进制文件下载了下来,然后放到/usr/local/bin中。

4、(2018年月27日),今天把自己写的RESTFUL API服务部署到服务器上了,用docker。我发现遗忘曲线真是太可怕了,以前弄得,长时间不看就会忘。今天就遇到了一个问题。

    我是用了docker-compose部署的,有三个微服务,一个MySQL,一个api的server,一个是nginx。

    我在api的server里,host设置成localhost,结果启动之后,在外面无论如何都访问不了。起初我怀疑server没起来,就exec进容器里面看一眼,结果发现没问题。后来我就怀疑可能是配置的问题。我在stackoverflow上一查,发现果然,要把host配置成“0.0.0.0”,OK,搞定了。

    启示:以后要经常多温习一下曾经学的知识,温故而知新啊!

题外话:

1、对于Python库,如fabric,celery等,已经go,java等的环境配置我写了脚本。对于一个新的Ubuntu环境直接用脚本和fabric部署即可。

2、我用docker-compose部署了nsq服务,采用了集群方式。不过目前暂时是一个nsqlookupd节点,一个nsqadmin节点,两个nsqd节点,用了两台服务器。

3、我之前一直考虑codis部署Redis集群,可我感觉这还需要时间成本,可还有不到2个礼拜的时间了,我的计划任务还没有完成,所以暂时就用了主从复制。Master可读写,slave只读,它会同步master的数据。

 

--------EOF---------
微信分享/微信扫码阅读