Docker学习笔记 — Compose简介、安装与简单使用
2015-03-15 18:06
1256 查看
简介
Docker Compose是在使用Docker容器部署分布式应用时的工具,可以定义哪个容器运行哪个应用。使用Compose,你只需定义一个多容器应用的yml文件,然后使用一条命令即可部署运行所有容器。安装Compose
下载安装最新版的docker-composecurl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
使用docker-compose –version验证安装是否成功。
使用方法
我们以官网上的简单示例来看看docker compose的使用方法。准备
首先创建项目文件夹mkdir composetest cd composetest
创建app.py,使用flash web服务框架,数据库使用redis。
from flask import Flask from redis import Redis import os app = Flask(__name__) redis = Redis(host='redis', port=6379) @app.route('/') def hello(): redis.incr('hits') return 'Hello World! I have been seen %s times.' % redis.get('hits') if __name__ == "__main__": app.run(host="0.0.0.0", debug=True)
创建requirements.txt文件,定义项目依赖的python包。
flask redis
创建镜像
使用dockerfile创建镜像,dockerfile文件如下:FROM python:2.7 ADD . /code WORKDIR /code RUN pip install -r requirements.txt
在python:2.7基础镜像上安装依赖的python软件包,并将代码挂载到镜像里。
定义服务
使用docker-compose.yml文件定义提供的服务。web: build: . command: python app.py ports: - "5000:5000" volumes: - .:/code links: - redis redis: image: redis
定义了两个服务:
- web服务:该容器从当前文件夹的dockerfile创建,并运行
python app.py命令;将web容器内部的5000端口映射到host的5000端口;挂载当前文件夹到容器内部的/code文件夹,并将web容器与redis容器连接;
- redis服务:该容器直接由官方的redis镜像创建。
启动
使用命令docker-compose up启动,首先将启动redis容器,然后启动web容器,再将两者连接起来。
$ docker-compose up Pulling image redis... Building web... Starting composetest_redis_1... Starting composetest_web_1... redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3 web_1 | * Running on http://0.0.0.0:5000/[/code]
使用docker-compose up -d在后台启动服务,使用docker-compose ps命令查看启动的服务。$ docker-compose up -d Starting composetest_redis_1... Starting composetest_web_1... $ docker-compose ps Name Command State Ports ------------------------------------------------------------------- composetest_redis_1 /usr/local/bin/run Up composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp`
使用docker-compose stop停止服务。YML文件格式
参考YAML 模板文件
参考资料:
Docker官方文档
相关文章推荐
- Docker-Compose简介安装使用
- mysql学习笔记(sqlalchemy安装及简单使用)
- docker学习笔记(一)——docker简介及安装
- Docker学习笔记3:CentOS7下安装Docker-Compose
- docker学习-简单安装及使用
- 1.docker学习笔记:docker的安装和基本使用
- docker 及 docker-compose 的快速安装和简单使用
- Unity 学习笔记(1) -- Unity简介及简单使用
- Redis学习笔记一:redis简介及安装使用
- Unity 学习笔记(1) — Unity简介及简单使用
- Java学习笔记——MySQL的安装使用以及SQL语法简介
- Docker学习笔记3:CentOS7下安装Docker-Compose
- Maven学习笔记(一) 安装和构建简单应用
- Liferay Portal 6学习笔记3:Liferay IDE的安装使用
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- Flex学习笔记_01 Flex简介与安装
- iPhone开发学习笔记[3/50]-使用工具栏创建简单的多视图应用程序
- entlib5.0 学习笔记 caching application block2 简单使用示例
- PHP学习笔记(3)----phpmyadmin的安装与使用[原创]
- C++/GDI+ 学习笔记(一)——安装、配置&使用