不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Docker

    • 01.Docker介绍
    • 02.安装docker
    • 03.Docker镜像介绍
    • 04.docker命令
    • 05.dockerfile使用
    • 06.docker-compose介绍
      • 01.docker-compose理论部分
        • 1.1 什么是docker-compose?(What)
        • 1.2 docker compose作用?(Where/Why)
        • 1.3 docker-compose安装与基本使用?(How)
      • 02. docker-compose语法
        • 2.1 compose 配置常用字段
        • 2.2 docker-compose常用命令
        • 2.3 docker-compose配置文件说明
    • 07.docker-compose项目实战
  • K8S

  • 容器原理

  • Istio

  • 容器
  • Docker
xiaonaiqiang
2021-02-12
目录

06.docker-compose介绍

**更多内容见博客:**https://www.cnblogs.com/xiaonq/p/10256414.html

# 01.docker-compose理论部分

# 1.1 什么是docker-compose?(What)

  • Compose是一个定义和管理多容器的工具,使用Python语言编写。

  • 使用Compose配置文件描述多个容器应用的架构,比如使用什么镜像、数据卷、网络、映射端口等;

  • 然后一条命令管理所有服务,比如启动、停止、重启等。

# 1.2 docker compose作用?(Where/Why)

  • 现在我们要部署django项目,需要django+nginx+mysql+redis等
  • 我们需要开启四个docker容器进行部署每一个组件,如果每个容器单独管理太过于复杂,而且容器间启动先后顺序有依赖,而且可能是给客户部署项目
  • docker compose就是一个可以同时管理一个项目中的多个docker容器的工具,一键部署启动

# 1.3 docker-compose安装与基本使用?(How)

[root@linux-node4 ~]# curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@linux-node4 ~]# chmod +x /usr/local/bin/docker-compose
1
2

# 02. docker-compose语法

# 2.1 compose 配置常用字段

# 2.2 docker-compose常用命令

# 2.3 docker-compose配置文件说明

version: '3'   # docker-compose版本号

services:      # 一级服务名称
  mysql:       # 服务名,可以通过服务名对容器进行管理(自己定义)
    #1.docker容器主机名
    hostname: mysql

    #2.指定拉取镜像或者使用Dockerfile构建
    image: mysql:5.7             # 指定拉取的镜像版本(方法1)
    build:                       # 构建nginx 容器(方法2)
      context: ./nginx           # 指定环境在当前目录的 nginx文件夹中
      dockerfile: Dockerfile     # 指定使用nginx文件夹中的Dockerfile进行构建

    #3.执行命令
    command: python manage.py migrate && python manage.py runserver 0.0.0.0:80
    command: uwsgi --ini uwsgi.ini                 # 启动uwsgi

    #4.指定容器挂载路径进行持久化
    volumes:              # 将mysql的 /var/lib/mysql数据路径挂载到本地进行持久化
      - ./mysql:/var/lib/mysql

    #5. 暴露端口 或者 映射端口
    expose:               # 开放的端口号,给docker容器之间通信访问
      - "3306"
    ports:
      - "80:80"           # 把端口映射给宿主机,提供服务

    #6.指定使用的网络
    networks:             
      - lnmp

    #7.当宿主机重启docker容器也自动重启
    restart: always

    #8. 添加环境变量   
    environment:          
      - MYSQL_ROOT_PASSWORD=root         # root密码
      - MYSQL_DATABASE=djangodocker      # 创建数据库
      - MYSQL_USER=django                # 创建一个普通用户
      - MYSQL_PASSWORD=django            # 普通用户密码
    #9. 添加依赖,必须先启动redis容器
    depends_on:
      - redis

networks:        # 创建网络
  lnmp: 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
上次更新: 2024/3/13 15:35:10
05.dockerfile使用
07.docker-compose项目实战

← 05.dockerfile使用 07.docker-compose项目实战→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式