设为首页 收藏本站
查看: 1027|回复: 0

[经验分享] docker/compose项目笔记

[复制链接]

尚未签到

发表于 2015-10-13 07:00:06 | 显示全部楼层 |阅读模式
  ..

声明:

本博客欢迎转发,但请保留原作者信息!

博客地址:http://blog.iyunv.com/halcyonbaby

新浪微博:@寻觅神迹
  内容系本人学习、研究和总结,如有雷同,实属荣幸!   
compose项目简介
  compose项目来源于之前的Fig项目,使用python代码编写。Apache2.0的license。
  compose项目主要用于编排部署基于docker的应用。本身与docker/swarm配合度很高。目前发布到1.4版,但是根据官方说明,并不适合生产环境使用。  
  compose主要用于开发/测试场合。适合小规模应用的部署。compose以命令行方式运行,本身没有daemon。只提供应用编排部署的能力。

相对于kubernetes来说功能比较简单,相当于kubernetes的一个子集。  
compose基本功能
compose目前支持以下命令


[iyunv@localhost Django]# docker-compose
Define and run multi-container applications with Docker.
Usage:
docker-compose [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE           Specify an alternate compose file (default: docker-compose.yml)
-p, --project-name NAME   Specify an alternate project name (default: directory name)
--verbose                 Show more output
-v, --version             Print version and exit
Commands:
build              Build or rebuild services
help               Get help on a command
kill               Kill containers
logs               View output from containers
port               Print the public port for a port binding
ps                 List containers
pull               Pulls service images
restart            Restart services
rm                 Remove stopped containers
run                Run a one-off command
scale              Set number of containers for a service
start              Start services
stop               Stop services
up                 Create and start containers
migrate-to-labels  Recreate containers to add labels
version            Show the Docker-Compose version information

  compose命令大多依赖于yml文件,默认使用当前目录下的“docker-compose.yml“,也可以通过-f指定。
yml文件的例子


[iyunv@localhost Django]# cat docker-compose.yml
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
[iyunv@localhost Django]# cat Dockerfile
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/


命令详解

  • build(构建yml中某个服务的镜像)

    如上,web这个服务是依赖于镜像build的。在本地 也存在Dockerfile文件。

    可以使用docker-compose build来构建服务的镜像。
  • ps(查看已经启动的服务状态)
  • kill(停止某个服务)
  • logs(可以查看某个服务的log)
  • port(打印绑定的public port)
  • pull(pull服务镜像)
  • up(启动yml定义的所有服务)
  • stop(停止yml中定义的所有服务)
  • start(启动被停止的yml中的所有服务)
  • kill(强行停止yml中定义的所有服务)
  • rm(删除yml中定义的所有服务)
  • restart(重启yml中定义的所有服务)
  • scale(扩展某个服务的个数,可以向上或向下)
  • migrate-to-labels(这个没有实际尝试。根据介绍是将服务从1.2迁移到1.3带labels的版本。docker之前不支持label)
  • version(查看compose的版本)

版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125988-1-1.html 上篇帖子: Docker Mac服务启动问题 下篇帖子: 如何在CentOS6或Fedora上运行Docker容器?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表