Docker compose 学习笔记

Docker Compose 可以用于部署和管理大量的服务器容器

目录

前言

 一、compose属性简述

1.compose文件简介

2.compose文件属性  

2.1 version  

2.2 networks

2.3  volumns

2.4 services

2.4.1  build  

2.4.2 image 

2.4.3 container_name 

 2.4.4 ports 

2.4.5 command 

2.4.6 depends_on 

2.4.7 deploy

2.4.8 networks 

2.4.9 volumes  

二、docker compose常用命令 

 2.1 docker-compose pull 

2.2 docker-compose config 

2.3 docker-compose up

 2.4 docker-compose logs

2.5 docker-compose ps 

2.6 docker-compose top 

2.7 docker-compose images 

2.8 docker-compose port 

2.9 docker-compose run 

2.10 docker-compose exec 

2.11 docker-compose pause 

2.12 docker-compose unpause 

2.13 docker-compose stop 

2.14 docker-compose restart 

2.15 docker-compose start 

2.16 docker-compose kill 

2.17 docker-compose rm 

2.18 docker-compose down 

三、安装docker-compose

3.1 下载Docker-compose 

3.2 增加可执行权限

3.3 查看版本 

​​​​​​

总结



前言

  Docker Compose 是一个需要在 Docker 主机上进行安装的 Docker 容器编排外部工具。其并不是通过脚本或各种冗长的 Docker 命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,然后通过一条命令完成应用部署。部署成功后,还可通过一系列简单命令实现对其完整生命周期的管理。

 一、compose属性简述

1.compose文件简介

  1. Docker Compose 使用 YAML 文件来定义服务。官方推荐的默认文件名为 compose.yml ,但同时也支持 docker-compose.yml
  2. Compose 文件通常定义一个项目的所有服务,通常新建项目名称的存放目录,将项目所需的镜像、微服务的Dcokerfile文件放入其中,在该目录中新建compose文件。

2.compose文件属性  

  Compose文件中包含 6 个顶级属性:version、services、networks、volumes、configs 和secrets,及很多的它们下面所包含的属性。

2.1 version  

version是一个顶级属性,但已经过时,不需要在compose文件中声明。

2.2 networks

networks是一个顶级属性,用于定义创建的应用所使用的网络,其下包含的第一级属性为网络名称,可以自定义名称。

networks:
  app_bridge:
    name: appBGnet # 网络名称,可以自定义
    #name:networks下第一级网络属性,设置的name属性,网络名称为当前设置值。
    driver: bridge
    #driver:网络驱动,缺省为Bridge。
    attachable: true
    #attachable:该属性设置为 true的话,除了当前 compose 中定义的服务外,其它独立容器也可以
连接到此网络,并能与该网络中的服务及也连接到该网络的其它独立容器通信。缺省状态为false

2.3  volumns

volumes 作为一个顶级属性,用于定义和创建应用中所使用到的所有 volume。其下包含

的第一级属性即为 volume 的卷标,这个卷标可以随意命名。这个卷标所代表的是当前 Docker主机中的目录,至于该目录的具体位置,是由系统自动分配的。

2.4 services

  services 是一个顶级属性,用于定义一个应用中所包含的服务。Docker Compose 会将每

个服务部署在各自的容器中。其下包含的第一级的属性即为服务名称,这个名称可以根据服务内容随意命名。而在服务名称下还可包含很多的属性。

2.4.1  build  

用于指定Dockerfile的路径,Dockerfile用于闯将当前服务镜像的。如下所示:

build:
  context: ./  # 当前Dockerfile文件路径,也可以为绝对路径。
  dockerfile: myDockerfile # Dockerfile文件名称

2.4.2 image 

用于指定当前服务使用的镜像,可以为本地镜像或者镜像仓库镜像。

如果设置了 build,此时再设置的 image 属性即为构建出的镜像的名称与 Tag。

2.4.3 container_name 

用于指定容器名称,不设置该属性,容器名称缺省为当前 compose文件所在目录名_ 服务名称。

 2.4.4 ports 

用于指定暴露的端口号

ports:
  - 80:80 # 绑定容器的 80 端口到主机的 80 端口
  - 9000:80 # 绑定容器的 80 端口到主机的 9000 端口
  - 443 # 绑定容器的 443 端口到主机的任意端口,容器启动时随机分配绑定的主机
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值