引言
在上一篇docker笔记中,已经成功构建了一个简单的LNMP环境以及启动维护,但我们发现,这样的构建方式是比较麻烦的,那如果还有数据库mysql、redis、mongodb等本地化服务,怎么加入进行并指定相应路径,这就是本篇需要探讨的docker-compose。
docker-compose安装
docker-compose的安装可以用原始安装方式或者是pip安装,不论哪种安装,都是几句命令,和下图类似,而由于我之前装过mysql,所以对于docker-compose中需要的mysqld相关的依赖都有,安装速度更快了很多。
在安装完docker-compose后,我们想通过docker-compose ps看是否安装成功,然后发现提示有错误:
pip AttributeError: ‘module’ object has no attribute 'SSL_ST_INIT’
出现这种原因是因为服务器的pyopenssl版本太低了,缺少很多的东西,而我这里用的阿里云的Ubuntu 16.04,因为阿里云一般都会预装python2.7,我也没有装3以上的版本了,所以需要输入如下命令去卸载并安装pyopenssl:
rm -rf /usr/lib/python2.7/dist-packages/OpenSSL
rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info
pip install pyopenssl
即此,我们便可以用docker-compose看到相关的所有命令。
然后关于第二种安装方式要比第一种安装方式慢很多,即我们去镜像源站拉取的方式来完成docker-compose的使用,命令如下:
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local