栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker-compose

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker-compose

docker-compose 概述

在实际生产环境中,一个应用往往由许多服务构成,而 docker 的最佳实践是一个容器只运行一个进
程,因此运行多个微服务就要运行多个容器。多个容器协同工作需要一个有效的工具来管理他们,定义
这些容器如何相互关联。compose 应运而生。
compose 是用来定义和运行一个或多个容器(通常都是多个)运行和应用的工具。使用 compose 可以简
化容器镜像的构建以及容器的运行。
compose 使用 YAML 文件来定义多容器之间的关系。一个 docker-compose up 就可以把完整的应用跑
起来。 本质上, compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行
接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间
的依赖关系由 YAML 文件中的 links 标记指定。

官网地址: https://docs.docker.com/compose/compose-file/

docker compose是什么

compose、machine 和 swarm 是docker 原生提供的三大编排工具。简称docker三剑客。
Docker Compose能够在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部
署和管理。多数的现代应用通过多个更小的微服务互相协同来组成一个完整可用的应用。

部署和管理繁多的服务是困难的。而这正是 Docker Compose 要解决的问题。Docker Compose 并不
是通过脚本和各种冗长的 docker 命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整
个应用,从而使用一条命令完成部署。应用部署成功后,还可以通过一系列简单的命令实现对其完整声
明周期的管理。甚至,配置文件还可以置于版本控制系统中进行存储和管理。

docker compose安装

地址
https://github.com/docker/compose

mv /data/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
cp /data/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

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

开发环境可以授予最高权限

chmod 777 /usr/local/bin/docker-compose

检查安装情况以及版本
docker-compose -v docker-compose --version docker-compose version

卸载docker-compose

rm -rf /usr/local/bin/docker-compose

yml配置文件及常用指令

Docker Compose 使用 YAML 文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用
JSON。

Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件。

Docker Compose 的 YAML 文件包含 4 个一级 key:version、services、networks、volumes version 是必须指定的,而且总是位于文件的第一行。

它定义了 Compose 文件格式(主要是API)的版本。

注意,version 并非定义 Docker Compose 或 Docker 引擎的版本号。
services 用于定义不同的应用服务。
volumes 用于指引 Docker 来创建新的卷。

docker-compose.yml

version: '3'
services:
  demo:
    ports:
      - 9091:8080
    image: demo

  nginx:
    image: nginx
    links:
      - demo
    ports:
      - 80:80
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d

nginx


    upstream myproject {
    ##后端目标服务器
        server 192.168.0.103:9091;
        server 192.168.0.103:9090;

    }
    server {
    ##前端接受流量入口
        listen 80;
        server_name 192.168.0.103;
        location / {
            proxy_pass http://myproject;
        }
    }



在 docker-compose.yml 当前文件目录下启动 docker-compose up

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

可以看到将依赖所需要的demo,nginx 容器都启动了

docker-compose ps 可以查看容器启动列表

启动服务

docker-compose start

停止

docker-compose down
docker-compose stop

查看服务日志

docker-compose logs

重启服务
docker-compose restart

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号