docker读书笔记004

1、Docker Compose并不是通过脚本和各种冗长的docker命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,从而使用一条命令完成部署。

2、Docker Compose在linux上的安装:
curl -L \
https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`\
uname -s`-`uname -m` \ -o /usr/local/bin/docker-compose
修改权限
chmod +x /usr/local/bin/docker-compose
查询版本
docker-compose --version

3、Docker Compose使用YAML文件来定义多服务的应用。YAML是JSON的一个子集,因此也可以使用JSON。Docker Compose默认使用文件名docker-compose.yml
 。当然,用户也可以使用-f参数指定具体文件。docker-compose.yml的结构,它包含4个一级key:version、services、networks、volumes。
version是必须指定的,而且总是位于文件的第一行。它定义了Compose文件格式(主要是API)的版本。建议使用最新版本。(Docker引擎、Docker Compose以及Compose文件之间的版本兼容性信息)。
services用于定义不同的应用服务。
networks用于指引Docker创建新的网络。默认情况下,Docker Compose会创建bridge
 网络。这是一种单主机网络,只能够实现同一主机上容器的连接。当然,也可以使用driver
 属性来指定不同的网络类型。
下面的代码可以用来创建一个名为over-net
 的Overlay网络,允许独立的容器(standalone container)连接(attachable)到该网络上。
networks:
  over-net:
  driver: overlay
  attachable: true
volumes
 用于指引Docker来创建新的卷。
Docker Compose会将每个服务部署为一个容器,并且会使用key作为容器名字的一部分。

4、常用的启动一个Compose应用(通过Compose文件定义的多容器应用称为“Compose应用”)的方式就是docker-compose up
 命令。它会构建所需的镜像,创建网络和卷,并启动容器。
默认情况下,docker-compose up
 会查找名为docker-compose.yml
 或docker-compose.yaml
 的Compose文件。如果Compose文件是其他文件名,则需要通过-f
 参数来指定。如下命令会基于名为prod-equus-bass.yml
 的Compose文件部署应用。使用-d参数在后台启动应用,使用了&将终端窗口返回

5、使用docker-compose up命令来查看应用的状态。使用docker-compose top命令列出各个服务(容器)内运行的进程。对于已停止的Compose应用,可以使用docker-compose rm
 命令来删除。这会删除应用相关的容器和网络,但是不会删除卷和镜像。执行docker-compose restart
 命令重启应用。

6、docker-compose的命令汇总:
docker-compose up
 命令用于部署一个Compose应用。默认情况下该命令会读取名为docker-compose.yml
 或docker-compose.yaml
 的文件,当然用户也可以使用-f
 指定其他文件名。通常情况下,会使用-d参数令应用在后台启动。
docker-compose stop
 命令会停止Compose应用相关的所有容器,但不会删除它们。被停止的应用可以很容易地通过docker-compose restart
 命令重新启动。
docker-compose rm
 命令用于删除已停止的Compose应用。它会删除容器和网络,但是不会删除卷和镜像。
docker-compose restart
 命令会重启已停止的Compose应用。如果用户在停止该应用后对其进行了变更,那么变更的内容不会反映在重启后的应用中,这时需要重新部署应用使变更生效。
docker-compose ps
 命令用于列出Compose应用中的各个容器。输出内容包括当前状态、容器运行的命令以及网络端口。
docker-compose down
 会停止并删除运行中的Compose应用。它会删除容器和网络,但是不会删除卷和镜像。

7、Docker Compose是一个基于Docker Engine进行安装的Python工具。该工具使得用户可以在一个声明式的配置文件中定义一个多容器的应用,并通过一个简单的命令完成部署。
Compose文件可以是YAML或JSON格式,其中定义了所有的容器、网络、卷以及应用所需的密码。docker-compose
 命令行工具会解析该文件,并调用Docker来执行部署。
示例:
version: "3.5"
services:
  web-fe:
    build: .
    command: python app1.py
    ports:
      - target: 5000
        published: 5000
    networks:
      - counter-net
    volumes:
      - type: volume
        source: counter-vol
        target: /code
  redis:
    image: "redis:alpine"
    networks:
      counter-net:

networks:
  counter-net:

volumes:
  counter-vol:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值