Docker高阶教程

1.Docker Compose

  简介  

 

 

 

  

 

 作用:批量容器编排

我自己的理解:Compose是官方的开源项目,需要安装!

Dockerfile 让程序在任何地方运行。(web服务、redis、mysql、nginx。。。多个容器)

 

  

docker-compose up 100个服务。

 Compose:重要的概念。

 

 安装

(1)下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这个地址可能快点(国内):

sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.1/docker-compose-$(uname -s)-$(uname -m)-o /usr/local/bin/docker-compose

(2)授权

sudo chmod +x /usr/local/bin/docker-compose

(3)体验
https://docs.docker.com/compose/gettingstarted/
步骤:1)Create a directory for the project:
$ 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.\n'.format(count)

if
__name__== "_main_":
app.run(host="0.0.0.0",debug=True)
3)在项目目录中创建另一个名为requirements.txt的文件,内容
flask
redis
4)在项目目录中创建名为Dockerfile 的文件
FROM python:3.6-alpine
ADD . /code WORKDIR /code RUN pip install -r requirements.txt CMD ["python", "app.py"]
#这告诉Docker:
# 从python 3.6映射开始构建映射
# 将当前目录添加.到/code映射中的路径。
# 将工作目录设置为 /code
# 安装python依赖项
# 将容器的默认命令设置为 python app.py
5)在项目目录中创建一个名为 docker-compose.yml 的文件:
version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
volumes:
- .:/code redis: image: "redis:alpine"

 

compose.yml规则
#3层

version:'' #版本 (
参照 :https://docs.docker.com/compose/compose-file/)
services:    #服务
  服务1:web
    images
      build
      network
  服务2:redis
  服务3:redis
  .......
#其他配置 网络、卷 、 全局规则
volumes:
networks:
configs:


启动项目:docker-compose up

 

 


 

 

 

 

 

2.Docker Swarm 

集群方式部署,4台阿里云服务器

3.Docker Stack

4.Docker secret

5.Docker Config

   

posted @ 2020-09-15 11:05  auldlangsynezh  阅读(173)  评论(0编辑  收藏  举报