1.创建app.py项目文件,执行以下代码

import time

import redis
from flask import Flask app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379) def get_hit_count():
retries = 5
while True:
try:
return cache.incr('hits')
except redis.exceptions.ConnectionError as exc:
if retries == 0:
raise exc
retries -= 1
time.sleep(0.5) @app.route('/')
def hello():
count = get_hit_count()
return 'Hello World! I have been seen {} times.\n'.format(count) if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)

2.创建文件 requirements.txt 安装python的依赖项

flask
redis

3.创建一个 Dockerfile 文件,写入

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

4.创建一个 docker-compose.yml 文件,写入

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"

// 这边docker-compose 定义了两个服务

web ->  从 Dockerfile文件构建docker镜像
        -> 指定端口映射 5000(宿主) : 5000(容器)

redis -> 从Docker hub获取指定的redis镜像

5. 运行docker-compose up 构建并运行你的应用程序

运行成功后,在宿主(就是物理机) 输入localhost:5000 访问容器的web项目

//docker-compose up -d 是守护模式运行

//docker-compose down 关闭服务

6. 修改 docker-compose.yml

version: '3'
services:
web:
build: .
ports:
- "8888:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"

新增volumes

指定 - .:/code

将当前目录 映射到 容器中的/code下面

docker-compose使用的更多相关文章

  1. Docker compose学习笔记

    一.compose compose 作用 你的应用可能需要很多个服务,比如web服务,数据库服务,缓存服务等等.我们可以把这些服务放到单独的容器里面,如果手工去配置这些服务会有些麻烦,docker c ...

  2. docker compose 笔记

    https://www.youtube.com/watch?v=Uez88TWOECg 是基于这个视频做的笔记. Docker Compose: Compose is a tool for defin ...

  3. 利用docker compose启动gitlab及runner

    添加docker compose配置文件 新建文件docker-compose.yml,输入如下内容: gitlab: image: 'gitlab/gitlab-ce:latest' contain ...

  4. Docker Compose to CoreOS

    taken from https://docs.docker.com/compose/install/ the only thing is that /usr is read only, but /o ...

  5. Docker Compose—简化复杂容器应用的利器

    Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compo ...

  6. .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行

    本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...

  7. Docker Compose容器编排

    Compose是Docker官方的开源项目,可以实现对Docker容器集群的快速编排.Compose 中有两个重要的概念:服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实 ...

  8. Docker(四):Docker 三剑客之 Docker Compose

    前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...

  9. Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...

  10. Docker学习笔记 - Docker Compose 脚本命令

    Docker Compose 配置文件包含 version.services.networks 三大部分,最关键的是 services 和 networks 两个部分, version: '2' se ...

随机推荐

  1. Unity GeometryShader(从一个线框渲染的例子开始)

    GeometryShader这个概念,已经出现很久了,但由于性能不佳,所以使用的并不多.甚至移动平台根本就不支持.移动平台的硬件更新速度也是越来越快,GS的应用普及应该不会太远.就现阶段而言,GS来做 ...

  2. Supervisor配置

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

  3. 合并hive/hdfs小文件

    磁盘: heads/sectors/cylinders,分别就是磁头/扇区/柱面,每个扇区512byte(现在新的硬盘每个扇区有4K) 文件系统: 文件系统不是一个扇区一个扇区的来读数据,太慢了,所以 ...

  4. 来源于知乎专栏:https://zhuanlan.zhihu.com/p/29619457

    1. 校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1- ...

  5. [持续交付实践] 研发协作平台:DevOps背景下的组织结构

    前言 今年以来做的事情越来越杂,负责的技术方向越来越广,精力越来越分散(创业公司的典型特点),编码的时间越来越少,有时候也会觉得很疲惫没办法专注一个事情. 除了技术方向上的实践,组织上如何组建一个最优 ...

  6. 小程序构建npm出现没有找到node_modules

    以下转自:https://blog.csdn.net/zhangyabo_code/article/details/86162671 npm initnpm install --production ...

  7. 使用Feign调用服务的问题

    最近在搞微服务的东西,系统A提供了一个服务,定义方式: @RequestMapping(value = "/hasSuberList", method = RequestMetho ...

  8. pgadmin连接 postgresql远程设置

    背景:通过yum默认方式将pgsql10安装在centos7, pgsql 的配置文件在:/var/lib/pgsql/10/data. 配置文件:postgresql.conf 和 pg_hba.c ...

  9. MyBatis 生命周期

    一.SqlSessionFactoryBuilder SqlSessionFactoryBuilder是利用XML或是Java编码获得资源来构建SqlSessionFactory的,通过他可以构建多个 ...

  10. RocketMQ入门(生产者)_2

    从 RocketMQ环境搭建_1 我们已经建立了MQ的Server,接下来就是简单的生产和消费的过程. 1. rocketMQ的源码中有个示例代码example  ,我们从Apache官网中可以下载源 ...