zoukankan      html  css  js  c++  java
  • docker-compose

    概述

    Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。

    使用Compose基本上是一个三步过程:

    1. 使用定义您的应用环境,Dockerfile以便可以在任何地方复制。

    2. 定义组成应用程序的服务,docker-compose.yml 以便它们可以在隔离的环境中一起运行。

    3. Run docker-compose upand Compose启动并运行您的整个应用程序

    安装

    参考文档:https://docs.docker.com/compose/install/

    入门示例

    1、新建项目

    $ mkdir composetest
    $ cd composetest

    2、在项目中创建一个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.
    '.format(count)

    3、新建requirements.txt文件

    flask
    redis

    4、编写Dockerfile

    FROM python:3.7-alpine
    WORKDIR /code
    ENV FLASK_APP=app.py
    ENV FLASK_RUN_HOST=0.0.0.0
    RUN apk add --no-cache gcc musl-dev linux-headers
    COPY requirements.txt requirements.txt
    RUN pip install -r requirements.txt
    EXPOSE 5000
    COPY . .
    CMD ["flask", "run"]

    5、编写docker-compose.yml

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

    6、启动应用程序

    docker-compose up

    7、在浏览器中输入http:// localhost:5000 /以查看应用程序正在运行

     详细命令

    参考:https://docs.docker.com/compose/reference/

    Fake it,till you make it
  • 相关阅读:
    【ansible】 笔记 (1)
    centos 把网卡名称修改为 eth0
    服务器从购买到交付使用流程
    (转载) Linux IO模式及 select、poll、epoll详解
    孤儿进程、僵尸进程和守护进程
    (转载)linux下各个文件夹的作用
    缓存穿透与缓存雪崩
    SpringCloud核心组件在微服务架构中的作用
    双十一电商Java开发聊聊秒杀限流的多种实现
    localhost 和 127.0.0.1 的区别
  • 原文地址:https://www.cnblogs.com/wusir66/p/14348561.html
Copyright © 2011-2022 走看看