当前位置:   article > 正文

2.Docker进阶_docker compose up -d提示no file or dictionary

docker compose up -d提示no file or dictionary

Docker compose

docker 服务编排工具,用来定义和运行多个 docker 容器的工具

docker compose 使用 YA ML 文件来配置应用程序所需要的服务

官方文档:https://docs.docker.com/reference/

compose

https://www.runoob.com/docker/docker-compose.html

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序

实例:redis 和 Flask 应用的搭建

  1. 新建一个文件夹

    放入 app.py、requirements.txt 等文件

  2. 创建 dockerfile 文件

    image-20210301153308371

  3. 使用 docker-compose 定义服务

    创建 docker-compose.yml 文件

  4. build and run

    docker-compose up

执行流程:

  1. 创建网络

  2. 执行 Docker-compose.yml

  3. 启动 yml 文件中定义的服务

    Docker-compose.yml

创建时默认规则:

默认服务名:文件名_服务名_num

多个服务器:集群 num表示副本数量(大型服务可能有多个副本,每个副本互不影响)

网络规则:

项目中的内容都在同一个网络下,可以通过 域名 访问

image-20210301160801135

保证 HA(高可用性)

命令
启动:docker-compose up
-d 后台启动
停止:docker-compose down 或者 ctrl+c
  • 1
  • 2
  • 3

YAML

https://www.runoob.com/w3cnote/yaml-intro.html

基本语法

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用 tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • ‘#’ 表示注释

数据类型

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

yaml 与 docker 版本

image-20210301162810899

向下兼容

三层结构

version:
services:
	服务1:
		#服务配置
	服务2:
		#服务配置	
		
# 其他配置 网络、券、全局规则
volumes:
network:
configs:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

depends_on

image-20210301163239554

deploy 部署

expose 暴露端口

Swarm集群

onfigs:


**depends_on**

[外链图片转存中...(img-pAKimTQS-1615868937982)]

deploy 部署

expose 暴露端口

### Swarm集群

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/327491
推荐阅读
相关标签
  

闽ICP备14008679号