Docker-compose入门教程

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 前言Docker-compose是一个定义和运行多个Docker应用的工具,你可以使用YMAL文件来配置你的服务,然后使用docker-compose命令,创建和启动所有你配置的的服务。

前言

Docker-compose是一个定义和运行多个Docker应用的工具,你可以使用YMAL文件来配置你的服务,然后使用docker-compose命令,创建和启动所有你配置的的服务。compose可以在任何工作环境中使用,生产环境,开发环境,持续集成等等。


img_56807ec4d2c7c362f952653ebe4b0101.png
Docker

使用compose一般包括三个步骤:

  1. 使用Dockerfile定义App的环境,以便于可再次重复利用
  2. docker-compose.yml文件中定义服务,以便于多个Docker应用可以协作起来
  3. 最后,运行docker-compose up,然后compose回启动和运行整个App。

操作

确保你已经安装了Docker和Docker compose。

设置
  1. 创建目录
mkdir composetest
cd composetest
  1. 创建app.py文件,python文件有严格的行缩进关系。如果缩进不一样会报错。
from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host='redis', port=6379)

@app.route('/')
def hello():
    count = redis.incr('hits')
    return 'Hello From Aihe! I have been seen {} times.\n'.format(count)

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)
  1. 创建另外一个依赖文件requirements.txt,python的依赖关系。
flask
redis
创建Dockerfile文件

内容如下

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
在compose文件定义服务

文件内容如下

version: '3'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code

  redis:
    image: "redis:alpine"

这个文件包含两个服务,webredis
web服务

  • Build 使用Dockerfile来构建镜像
  • Ports 主机转发5000端口到容器对应的5000端口
  • Volumes 挂载当前目录到容器内的/code目录下,我们可以直接修改本地文件,然后容器内会立即生效
构建和运行app
  1. 在当前目录下运行docker-compose up
    当前目录结构为


    img_afd169fbb60fdd3a77fc18ecb9e69fac.png
    当前目录内容
docker-compose up
  1. 在浏览器中输入http://localhost:5000/

img_f939bb4e304d1ba1869b0650329ee968.png
测试结果

我们可以以修改app.py文件中return的内容,可以看到浏览器立即生效。

额外

  1. 在配置的过程中,可能compose文件配置有错误,到底第一次无法启动服务。这时候重新构建服务。
docker-compose build --no-cache
  1. 后台运行与停止compose服务
docker-compose up -d
docker-compose stop

最后

Docker确实给我们提供了极大的便利,使用的过程发现有以下好处

  • 本地环境无需更改,直接使用Docker容器做测试
  • 搭建集群直接使用容器,一台机器也可以完成

这里简单的介绍了docker-compose的用法,希望能对大家有帮助。

相关文章
|
1月前
|
人工智能 前端开发 Docker
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
在 AI 智能体开发中,开发者常面临本地调试与云端部署的矛盾。本文介绍如何通过 Docker Compose 与 Docker Offload 解决这一难题,实现从本地快速迭代到云端高效扩容的全流程。内容涵盖多服务协同、容器化配置、GPU 支持及实战案例,助你构建高效、一致的 AI 智能体开发环境。
262 1
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
|
1月前
|
运维 数据可视化 开发者
2025年 三个 Docker Compose 可视化管理器测评
本文对比了三款主流的 Docker Compose 可视化管理工具。随着 Docker 的普及,Compose 已成为多容器应用部署的标准,但 YAML 配置复杂、协作困难等问题也日益突出。三款工具各有侧重:Docker Desktop 适合个人本地开发,Portainer 适合小团队运维管理,而 Websoft9 则通过 GitOps 实现了强大的版本控制与团队协作能力。文章从可视化编辑、部署便捷性、版本管理等方面进行评测,为不同使用场景提供了推荐方案,展望了未来 Compose 管理向 GitOps 深度融合的发展趋势。
232 1
2025年 三个 Docker Compose 可视化管理器测评
|
数据可视化 开发工具 git
GitOps 驱动的 Docker Compose 可视工具化来了,图形化编辑器上玩转容器编排
Docker Compose 简化了多容器应用的部署,但随着应用复杂度上升,文本配置方式逐渐暴露出维护难、协作效率低等问题。基于 GitOps 的可视化 Docker Compose 工具应运而生,通过图形界面降低使用门槛,提升配置准确性和团队协作效率。结合 GitOps,实现配置变更的版本追踪、自动化部署与环境一致性,为多容器应用管理提供高效、安全的解决方案。
|
3月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
375 11
|
3月前
|
NoSQL 安全 Redis
Docker Compose :从入门到企业级部署
Docker Compose 是用于定义和运行多容器应用的工具,支持服务、网络和卷三大核心要素。通过简洁的 YAML 文件,可实现应用的快速部署与管理,适用于开发、测试及生产环境。
270 0
|
5月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
956 30
|
5月前
|
网络协议 NoSQL Redis
Docker Compose--模板文件
Docker Compose--模板文件
361 29
|
5月前
|
Linux Docker Windows
Docker Compose
Docker Compose
598 29
|
5月前
|
关系型数据库 MySQL 数据库
Docker Compose-实战
Docker Compose-实战
173 5

热门文章

最新文章