IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker容器学习六之Docker-Compose -> 正文阅读

[系统运维]Docker容器学习六之Docker-Compose

一、安装compose

当我在进行docker容器管理的时候,针对打个容器,比较好操作,如果容器过多,各种不一样的容器怎么进行同一管理,这尤为重要,所以compose,技术可以帮我去实现这样的功能,他采用yaml文件方式,用户只需要编写好对应的yaml文件,然后执行这个文件即可。

第一步需要按照compose组件,依然从官方教程获取
首先:通过如下命令获取稳定版本

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

然后:赋予可执行权限

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

可以通过docker-compose --version查看当前是否安装成功
在这里插入图片描述

二、样例

此时,我们跟着官方文档去实现一个样例
第一步:创建一个composetest文件夹,然后进入到这个文件夹

 mkdir composetest
 cd composetest

第二步:新建一个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)

上边这段程序的大致含义就是,通过redis保存每次访问的次数

第三步:创建一个requirements.txt文件,并写入以下内容

flask
redis

第四步:创建一个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"]

这一步是把当前的app.py应用打包成一个镜像

第五步:编写docker-compose.yml文件,并写入以下内容

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

表示当前有两个服务,一个web、一个是redis

第六步:通过docker-compose up启动容器
在这里插入图片描述
可以发现此时启动成功,然后通过端口映射的8000端口访问的时候,可以得到对应的输出
在这里插入图片描述
到此,我们可以发现docker-compose 可以帮助我们去构建对应的容器管理方案,只需要编写相应的yaml文件即可,关于具体怎么编写这个文件,可以参考官方文档
以及具体的命令可以查看帮助文档docker-compose --help

三、总结

本文简单介绍了docker-compose,以及根据官方文档实现了一个样例,接下来将继续学习docker的其它相关知识。

以上,有任何不对的地方请指正,谢谢!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 16:00:29  更:2022-03-04 16:02:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:22:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码