docker web应用多容器开发环境部署

开发环境的镜像来源有以下方式:

  • 从镜像仓库拉取。国外:http://hub.docker.com/(比较全,且Dockerfiles开源)国内有阿里云之类的镜像仓库,拉取速度比较快

  • 自己写Dockerfiles构建

  • 运行基础容器,链接进去搭建好环境,然后提交成新的镜像

连接容器

连接容器基本上通过exec命令,或者通过容器开启ssh进入管理,exec命令只能本机连接,ssh可以远程连接管理。两种方式各有优势,视乎场合灵活运用。

多容器的启动管理

Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作.

完整的命令列表如下:

build 构建或重建服务
help 命令帮助
kill 杀掉容器
logs 显示容器的输出内容
port 打印绑定的开放端口
ps 显示容器
pull 拉取服务镜像
restart 重启服务
rm 删除停止的容器
run 运行一个一次性命令
scale 设置服务的容器数目
start 开启服务
stop 停止服务
up 创建并启动容器

安装Docker Compose

curl -L https://github.com/docker/compose/releases/download/1.4.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod x /usr/local/bin/docker-compose

YAML 模板文件

参考一下这篇教程

docker-compose.yml文件示例

nginx:
  image: nginx:latest
  ports:
  - "80:80"
  links:
  - "php"
  volumes_from:
  - "php"
  volumes:
  - /home/ivan/nginx:/etc/nginx/conf.d/

php:
  image: php5.3.29-fpm:latest
  volumes:
  - /home/wwwroot:/var/www/html

redis:
  image: daocloud.io/daocloud/dao-redis:master-init
  ports:
  - "6379:6379"
  environment:
  - REDIS_PASS=**None**

memcached:
  image: daocloud.io/library/memcached:1.4.21
  ports:
  - "11211:11211"

容器的启动管理

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。
除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。
supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令
supervisorctl:启动supervisor的命令行窗口。

安装supervisor

Debian / Ubuntu可以直接通过apt安装:

# apt-get install supervisor

然后,给我们自己开发的应用程序编写一个配置文件,让supervisor来管理它。每个进程的配置文件都可以单独分拆,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名.

[inet_http_server] ; 侦听在TCP上的socket,Web Server和远程的supervisorctl都要用到他不设置的话,默认为不开启。非必须设置
port=127.0.0.1:9001 ; 这个是侦听的IP和端口,侦听所有IP用 :9001或*:9001。这个必须设置,只要上面的[inet_http_server]开启了,就必须设置它
username=user ; 这个和上面的uinx_http_server一个样。非必须设置
password=123 ; 这个也一个样。非必须设置
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值