这篇文章主要讲解了“Docker Compose编排容器如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker Compose编排容器如何使用”吧!
1. 前言
docker compose 是 docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器。
使用compose 基本上分为三步:
1.dockerfile 定义应用的运行环境
2.docker-compose.yml 定义组成应用的各服务
3.docker-compose up 启动整个应用
2. 安装compose
直接从github下载即可,前提要先安装docker,版本要1.9.1以上
note that compose 1.8.0 requires docker engine 1.10.0 or later for version 2 of the compose file format, and docker engine 1.9.1 or later for version 1.
# curl -l https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose # chmod +x /usr/local/bin/docker-compose
也可以用pip或官网的run.sh脚本安装
安装后确认
# docker-compose --version
3. 使用compose
3.1 创建一个python应用, 使用flask,将数值记入redis
# mkdir python # cd python # vi app.py from flask import flask from redis import redis 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) # vi requirements.txt flask redis
3.1.2 创建 dockerfile
在同一目录下,创建dockerfile
# vi dockerfile from python:2.7 add . /code workdir /code run pip install -r requirements.txt cmd python app.py
对上面的dockerfile做一下简单说明:
3.1.3 创建编排脚本
在同一目录下,创建 docker-compose.yml
# cat docker-compose.yml version: '2' services: web: build: . ports: - "5000:5000" volumes: - .:/code depends_on: - redis redis: image: redis
对上面的编排脚本做一下简单说明:
这个应用定义了两个服务:web, redis
web容器通过当前路径下的dockerfile生成
web容器内的5000端口映射到主机的5000端口
将当前目录挂载到web容器内/code
web容器依赖于redis容器
3.1.4 启动应用
会执行编排脚本,分别制作和抓取web,redis镜像,启动容器
# docker-compose up
3.1.5访问应用
http://localhost:5000/
3.2 其他命令
3.2.1 daemon模式启动/停止
# docker-compose up -d
# docker-compose stop
3.2.2 查看信息
# docker-compose ps
3.2.3 对容器执行命令(一次)
#docker-compose run services cmd
例如:查看web容器环境变量
# docker-compose run web env
3.3.1建立一个应用的目录
# mkdir wordpress # cd wordpress
3.3.2 创建 docker-compose.yml
# cat docker-compose.yml version: '2' services: db: image: mysql:5.7 volumes: - "./.data/db:/var/lib/MysqL" restart: always environment: MysqL_root_password: wordpress MysqL_database: wordpress MysqL_user: wordpress MysqL_password: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always environment: wordpress_db_host: db:3306 wordpress_db_password: wordpress
MysqL的数据目录挂载到当前目录下,./.data/db不存在时会自动创建。
3.3.3 启动应用
# docker-compose up -d
3.3.4 确认
# docker-compose ps
3.3.5 访问应用
http://localhost:8000/
感谢各位的阅读,以上就是“Docker Compose编排容器如何使用”的内容了,经过本文的学习后,相信大家对Docker Compose编排容器如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程之家,小编将为大家推送更多相关知识点的文章,欢迎关注!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。