docker进阶一:Compose介绍

一、介绍:高效管理容器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Compose 是Docker的开源项目,需要安装

在这里插入图片描述
在这里插入图片描述

二、使用

2安装

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

# 备用地址,比较快
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-'uname -s'-'uname-m' > /usr/local/bin/docker-compose

3授权

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

4查看版本

docker-compose version

在这里插入图片描述

5体验

getting start体验
官方地址:https://docs.docker.com/compose/gettingstarted/
python应用,计数器,redis

2.5.1第一步: 创建一个文件夹

mkdir conposetest
cd conposetest

2.5.2第二步:创建Python文件夹并且书写代码

vim 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)

2.5.3 第三步:在同一个目录下写一个txt

vim requirements.txt
flask
redis

2.5.4 第四步:在同一个目录下写一个DockerFile

vim DockerFile
# syntax=docker/dockerfile:1
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"]

2.5.5 第五步:在同一个目录下写一个yml(用于部署)

vim docker-compose.yml
version: "3.9"
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"

2.5.6第六步:在当前文件夹运行

docker-compose up

在这里插入图片描述
在这里插入图片描述

小结

1、应用 app.py
2、Dockerfile 应用打包为镜像
3、Docker-compose yml 文件(定义整个服务需要的环境:web, redis)
4、启动compose项目(docker-compose up)

默认的服务名 文件名_服务名_num
多个服务器 集群 A B _num副本数量
服务redis服务 =》4个副本
集群状态,服务都不可能只有一个运行实例。弹性

网络规则:
项目中的内容都在同个网络下。可通过名称访问(需要在同一网络下),保证了高可用

停止:docker-compose down ctrl+c

以前都是单个docker run启动容器,docker-compose通过yml配置文件,可以通过compose一键启动所有服务、停止

三.yml规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、体验一键部署微博

官方网址

https://docs.docker.com/samples/wordpress/

4.1进入文件夹 cd my_wordpress/

4.2 Create a docker-compose.yml

version: "3.9"
    
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}
  wordpress_data: {}

4.3启动docker-compose up -d

docker-compose up -d 后台启动
docker-compose up  启动

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码浪人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值