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

docker-compose 编排工具应用

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

docker-compose 编排工具应用

文章目录
    • 一. 安装docker-compose
    • 二. docker-compose 应用
      • 2.1 docker-compose 工具的参数与命令
      • 2.2 docker-compose 模版文件
        • version
        • services
          • image
          • build
          • ports
          • volumes
          • links
          • networks
          • command
        • networks

一. 安装docker-compose

二进制方式安装
https://github.com/docker/compose/releases

download目录后面接对应版本

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
二. docker-compose 应用

https://docs.docker.com/compose/cli-command/

docker-compose是一个官方的编排docker容器的工具,其实就是将多个容器 run 的命令写入一个yml文件一起run,所以会run docker 就会写docker-compose文件。

2.1 docker-compose 工具的参数与命令

https://docs.docker.com/compose/reference/
compose 的参数挺多的,但是大多数不常用,工具的一些功能一般在配置文件中已实现,而工具的参数一般只做辅助作用。

个人常用参数
其它的都不常用

-f 	# 指定compose文件

命令

build	# 构建,重新构建容器
config  # 检查配置文件
down	# 关掉容器
up		# 启动容器
logs	# 日志
rm		# 删除容器
2.2 docker-compose 模版文件

https://docs.docker.com/compose/compose-file/
默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。

标准的docker-compose.yml应该包含 version,services,networks 三部分

  • version:定义容器版本
  • services:定义容器服务
  • networks:定义容器网络

例子:

version: "3"
services:
  php:
    build: ./php
    networks:
      - lnmp_test1
    ports:
      - "9000"
    volumes:
      - "./php/php.ini:/usr/local/etc/php/php.ini"
      - "./www:/var/www/html/"
networks:
  lnmp_test1:
    driver: bridge
version

其中version 是docker engine 兼容版本

services

services的配置将会应用到服务中,它包括,服务名,服务使用的镜像,端口数据卷网络等等所有配置信息。

image

指定容器使用的镜像,可以使用镜像名,或者镜像名:标签,或者网络上的其它镜像,或者id。

image: nginx
image: httpd:v0.1
image: tutum/influxdb
image: example-registry.com:4000/postgresql
image: a4bc65fd
build

如果不使用现成的镜像,可以自己写入dockerfile,在写compose文件时使用build构建这个镜像成为一个容器

build: /tmp/httpd/Dockerfile
ports

端口

ports:
 - "3000"
 - "8000:8000"
 - "49100:22"
 - "127.0.0.1:8001:8001"
volumes

数据卷,如果指定路径就跟docker run -v 参数一样,如果指定volumes数据卷名那么就是一个docker run --mount 指定数据卷一样。

volumes:
 - /var/lib/mysql
 - cache/:/tmp/cache
 - ~/configs:/etc/configs/:ro
links

连接容器

links:
 - db
 - db:database
 - redis
networks

指定网络,如果在services里指定了网络,那么在也要应该有对应的网络。

services:
  some-service:
    networks:
     - some-network
     - other-network
command

跟dockerfile里的CMD一样

version: '3'
services:
    web:
        build: ./
        command: env
networks

https://docs.docker.com/compose/networking/

networks:
  lnmp_test1:
    driver: bridge

创建一个lnmp_test1的网络,网络模式为bridge桥

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

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

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