Docker Compose的安装,运行及docker-compose.yml 文件

Docker Compose(用户在集群中部署分布式应用)

Docker Compose是一种编排服务,基于pyhton语言实现,
是一个用于在 Docker 上定义并运行复杂应用的工具,可以让用户集群中部署分布式应用。

用户可以很容易地用一个配置文件定义一个多容器的应用,
然后使用一条指令安装这个应用的所有依赖,完成构建。
解决了容器与容器之间如何管理编排的问题。

Docker Compose 中有两个重要的概念:
服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

可以类比之前的ansible及saltstack,都是为了更方便集群式的部署分布式应用

Docker Compose 常用命令

Build构建或重新构建服务
kill强制停止服务容器。
logs查看服务的输出。
port打印绑定的公共端口。
ps列出所有容器。
pull:拉取服务所需镜像。
rm:删除停止的服务容器。
up:构建并启动容器。

Docker Compose实践(创建容器haproxy,nginx)

1. docker compose安装

将脚本下载,阿里云的下载速度较快,推荐适用
https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/
把脚本放在/usr/local/bin/下.名字为docker-compose ,加执行权限 ,docker-compose命令就有了

在这里插入图片描述

在这里插入图片描述

2.docker-compose.yml

docker-compose.yml 属性

Image指定为镜像名称或镜像 ID,如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。
Build:指定 Dockerfile 所在文件夹的路径。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像。
Command:覆盖容器启动后默认执行的命令。
Links:链接到其它服务中的容器。
Ports:端口映射。
Expose::暴露端口信息
Volumes:卷挂载路径设置

更多属性查阅
https://docs.docker.com/compose/compose-file/

在这里插入图片描述
文件名默认是docker-compose.yml 如果名字不是默认,则加-f参数,指定文件
docker network create mynet

创建docker-compose.yml文件:
在这里插入图片描述

version: "3.9"
services:
  web1:
    image: nginx
    networks:
      - mynet
    volumes:
      - ./web1:/usr/share/nginx/html       ####/usr/share/nginx/html : nginx的测试页 ,

  web2:
    image: nginx
    networks:
      - mynet
    volumes:
      - ./web2:/usr/share/nginx/html

  haproxy:
    image: haproxy
    networks:
      - mynet
    ports:
      - "80:80"
    volumes:
      - ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg

networks:
  mynet:

在主机中下载haproxy ,nginx镜像
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.运行docker-compose:

docker-compose命令必须在项目下运行

docker-compose up 创建并启动容器

在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值