Docker-12-docker-compose

简介: Docker-12-docker-compose

在实际业务使用中,我们通常需要对大量的容器进行管理和编排,即实现容器集群的蓝图,今天我们就一起来了解 Docker 官方的编排工具之 docker-compose


安装


docker-compose 是一个二进制文件


apt-get install docker-compose
复制代码


安装完后查看版本信息


root@phyger-xubuntu:/home/phyger/docker-cps# docker-compose version
docker-compose version 1.17.1, build unknown
docker-py version: 2.5.1
CPython version: 2.7.17
OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
root@phyger-xubuntu:/home/phyger/docker-cps#
复制代码


准备工作


准备一个安装了 python3 的镜像,当然你也可以在 Dockerfile 中实现


网络异常,图片无法展示
|


创建工作目录,即 docker-compose 的项目


mkdir /home/phyger/docker-cps
复制代码


在工作目录下创建一个 app


#!/usr/bin/python3
from flask import Flask
app = Flask(__name__)
count = 0
@app.route('/')
def hello():
    global count
    count += 1
    return 'Hello World! 该页面已被访问 {} 次。\n'.format(count)
if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)
复制代码


在工作目录下创建 Dockerfile


FROM alpine_py:v1
ADD . /code
WORKDIR /code
ENTRYPOINT ["python", "app.py"]
复制代码


在工作目录下创建 docker-compose.yml


version: '3'
services:
  web:
    build: .
    ports:  
      - "5000:5000"
复制代码


启动这个项目


docker-compose up  <-d>
复制代码


网络异常,图片无法展示
|


测试服务


网络异常,图片无法展示
|


docker-compose 项目启动分析


docker-compose 调用 Dockerfile 进行项目所需镜像构建,然后使用 docker-compose 编排文件对项目进行编排和管理。即镜像构建使用 Dockerfile 功能,自己只专注业务容器编排。


docker-compose 和 k8s


docker-compose 是对多个容器进行编排和管理的工具,而 k8s 是可以实现跨服务,跨机器对多个容器进行编排,同时其拥有多种控制器类型,可以实现更可靠的容器服务。


它们两种都是常用的服务承载方式,我们可以根据实际需求进选择,通常小型单机服务我们选择简单省资源的 docker-compose,大型分布式我们选择 k8s

相关文章
|
2月前
|
安全 Linux 虚拟化
Docker到底是什么?为什么它这么火!
如果你是数据中心或云计算IT圈子的人,这一年多来应该一直在听到普通的容器、尤其是Docker,关于它们的新闻从未间断过。
41 9
|
6月前
|
存储 运维 持续交付
|
6月前
|
存储 程序员 Linux
什么是 Docker ?
本文介绍了容器技术的起源和Docker这一容器技术的简介。在传统开发过程中,环境搭建的重复性工作浪费了大量时间和资源。为了解决这个问题,容器技术应运而生,它减少了环境重复搭建的需求,提高了效率。相较于虚拟机,容器更轻量级,启动快速,资源利用率更高。Docker作为流行的容器技术,可以固化配置、自动化CI/CD流程、实现应用隔离、快速扩容缩容以及节省成本。Docker由客户端、守护进程和注册表服务组成,其核心概念包括镜像、容器和仓库。
|
Java Shell Linux
Docker使用总结
Docker使用总结
122 0
|
存储 关系型数据库 Linux
|
Linux 虚拟化 开发者
|
安全 Linux Docker
认识 Docker 的世界
Docker 简介:Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。 Docker 是在 GitHub 上开发的 Moby 开源项目的一部分。 Docker 公司,位于旧金山,是整个 Moby 开源项目的维护者。Docker 公司还提供商业版和社区版。Docker运行时与编排引擎:Docker 引擎是用于运行和...
248 1
认识 Docker 的世界
|
运维 NoSQL 关系型数据库
docker详细介绍
作者主页:https://www.couragesteak.com/
docker详细介绍
|
存储 Kubernetes Linux
Docker-01-初识
Docker-01-初识
120 0
|
Kubernetes Linux API
Docker限制
Docker系列文章: 此篇是Docker系列的第十篇,大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,马上就开始Kubernetes,加油!一起前行! 1. 为什么要学习Docker 2. Docker基本概念 3. Docker镜像基本原理 4. Docker容器数据卷 5. Dockerfile 6. Docker单机网络上 7. Docker单机网络下 8. Docker单机网络实战 9. Docker隔离技术