docker-compose.yml配置

server/2024/9/22 14:58:23/

文章目录

  • docker-compose.yml配置
      • 常用命令
      • docker-compose up 与docker-compose start ,docker start的区别
      • docker-compose.yml说明
      • docker compose执行顺序
      • 命名卷和挂载卷
      • yml 和 yaml 区别

dockercomposeyml_1">docker-compose.yml配置

常用命令

docker --version #查看版本docker-compose --version #查看版本docker-compose -h    # 查看帮助docker-compose up    # 启动所有docker-compose服务docker-compose up -d    # 启动所有docker-compose服务并后台运行docker-compose -f /xxx/xxxx/docker-compose-prod.yml up -d  / down #指定具体的docker-compose配置文件执行docker-compose down     # 停止并删除容器、网络、卷、镜像 不会删除命名卷,以防止重要数据的丢失。docker-compose down --volumes ######谨慎使用docker-compose exec  yml里面的服务id   # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bashdocker-compose ps      # 展示当前docker-compose编排过的运行的所有容器docker-compose top       # 展示当前docker-compose编排过的容器进程docker-compose logs  yml里面的服务id   # 查看容器输出日志docker-compose config     # 检查配置校验格式是否正确docker-compose config -q  # 检查配置,有问题才有输出docker-compose restart   # 重启服务(可以指定yml里面的服务)docker-compose start     # 启动服务(可以指定yml里面的服务)docker-compose stop      # 停止服务(可以指定yml里面的服务)

dockercompose_up_dockercompose_start_docker_start_41">docker-compose up 与docker-compose start ,docker start的区别

1.docker-compose up 会依次执行docker createdocker start,如果源yml文件有任何变化时,会重新创建容器。(构建+启动

2.docker-compose start是在容器已经存在的基础上执行的(启动容器

3.docker-compose startdocker start是Docker和Docker Compose中用于启动一个或多个容器的命令,但它们有一些区别:

  1. docker start是Docker CLI的原生命令,它用于启动一个或多个已经停止的容器
  2. docker-compose start是Docker Compose工具提供的命令,它用于启动由docker-compose.yml文件定义的服务。

使用docker start时,你需要知道要启动的容器的ID或名称。使用docker-compose start时,你需要在当前目录或使用-f参数指定docker-compose.yml文件的路径,然后跟上要启动的服务名称。

# 使用Docker CLI启动名为my-container的容器
docker start my-container# 使用Docker Compose在docker-compose.yml文件所在目录启动名为web的服务
docker-compose start web
docker-compose start 全部启动

dockercomposeyml_63">docker-compose.yml说明

version: '3' 指定编排文件的版本services:nginx: #服务名container_name: ldsx_nginx #容器名字image: nginx:5.5 #nginx镜像restart: always #重启策略 默认为no 不会重启volumes:# 命名卷- static_volume:/xx/xxx/xxx/static- cache_volume:/xxx/xxxx/xxx/xxx #定义数据卷映射,用于持久化数据或者容器之间共享数据# 挂载卷轴- /xxx/xxxx/xxxxx:/xxxx/xxxx/xxxx #宿主机:容器prots:- 3000:80 #宿主机端口:容器端口- 8443:443 #可以配置多个端口#环境变量设置可以直接设置值也可以通过文件设置,但是不确定能否同时设置environment:- MY_VARIABLE=some_value #设置环境变量可以设置多个- xxxxx=xxxxxenv_file:- ./env.pord- ./env.xxxxx.filedepends_on:- db #定义服务之间依赖关系,确保容器启动顺寻,先启动depends_on后面的指定服务,在启动当前的服务,允许多个服务同时指向一个服务。# 命名卷
volumes:static_volume:cache_volume:

docker_compose_99">docker compose执行顺序

在Docker Compose中,服务(services)的启动顺序默认是按照它们在docker-compose.yml文件中出现的顺序进行的。如果一个服务依赖于另一个服务,后者会先于前者启动。

如果你需要控制具体的启动顺序,可以使用depends_on选项来指定服务之间的依赖关系。depends_on不仅定义了服务之间的依赖关系,还影响了服务启动的顺序,被依赖的服务会先于依赖它的服务启动。

命名卷和挂载卷

在Docker Compose中,volumes关键字用于指定挂载的卷。它可以是两种类型:一种是命名卷(named volume),另一种是绑定挂载卷(bind mount volume)。

1.命名卷存储在Docker管理的宿主机文件系统中,在Docker主机上创建的独立于容器生命周期的持久化存储区域。它们存储在Docker数据目录中,通常是在 /var/lib/docker/volumes/ 下。命名卷可以用于持久化容器内的数据,即使容器被删除或重新创建,数据也不会丢失。这使得在开发多容器Docker应用时,可以更容易地管理数据的持久化和共享。(type named)

如果你想在执行 docker-compose down 时同时删除命名卷,可以使用额外的参数 --volumes

docker-compose down 命令用于停止并移除由 docker-compose up 创建的所有容器、网络、卷、和默认网络。但是,它不会删除命名卷,以防止重要数据的丢失。

docker-compose down --volumes #谨慎使用

2.而绑定挂载卷则存储在你指定的宿主机目录中(type bind)。

如果你想要使用更多的配置选项,比如只读模式或使用默认的Docker卷,你可以这样做:

version: '3'
services:myservice:image: myimagevolumes:- type: bindsource: /path/on/hosttarget: /path/in/containerread_only: true

yml 和 yaml 区别

yml 和 yaml 文件没有区别,都是 YAML(Yet Another Markup Language)文件的扩展名。YAML 是一种可读性高、用来表达数据序列化的格式。YAML 参考了其他多种语言,包括:C语言、Python、Perl,并从 XML、电子邮件的数据格式(RFC 2822)中获得灵感。

YAML 文件使用缩进和换行等符号来表示层次结构和序列关系,从而达到编写简单易读的数据文档的目的。

由于历史原因,许多 Windows 程序员仍然不敢使用具有三个以上字符的扩展名,因此选择使用 yml 代替。但这只是一种习惯,并不影响文件的解析或者使用。

因此,yml 和 yaml 文件实际上是同一种文件,只是扩展名不同。


http://www.ppmy.cn/server/105105.html

相关文章

【最长上升子序列】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1010; int a[N], f[N]; int main() {int n;cin >> n;for(int i 1; i < n; i) cin >> a[i];int res 0;for(int i 1; i < n; i){f[i] 1;for(int j 1; j < i; j){if(a[j] &…

冷却液温度传感器检测诊断

检测发动机冷却液温度&#xff0c;向ECU输入温度信号&#xff0c;作为燃油喷射和点火正时的修正信号&#xff0c;同时也是其他控制系统的控制信号。 冷却液温度传感器安装位置 冷却液温度传感器&#xff08;俗称水温传感器&#xff09;一般安装在缸体水道上&#xff0c;缸盖水…

【AI学习】LLaMA模型的微调成本有几何?

在前面文章《LLaMA 系列模型的进化&#xff08;二&#xff09;》中提到了Stanford Alpaca模型。 Stanford Alpaca 基于LLaMA (7B) 进行微调&#xff0c;通过使用 Self-Instruct 方法借助大语言模型进行自动化的指令生成&#xff0c;Stanford Alpaca 生成了 52K 条指令遵循样例数…

电子克隆方法的优缺点有哪些?

电子克隆方法的优缺点有哪些&#xff1f; 李升伟 电子克隆方法的优点&#xff1a; 1. 高效性 - 能够快速从大量的生物信息数据中筛选和分析&#xff0c;大大缩短了新基因发现的时间。 2. 成本低 - 相比传统的实验克隆方法&#xff0c;不需要大量的实验试剂和设备&#…

二十三设计模式速记

文字版 Java设计模式通常被分为三大类&#xff1a;创建型模式&#xff08;Creational Patterns&#xff09;、结构型模式&#xff08;Structural Patterns&#xff09;和行为型模式&#xff08;Behavioral Patterns&#xff09;。每种类型包含若干种具体的设计模式。 创建型模…

存在重复元素 III

题目 给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j&#xff0c;使得 abs(nums[i] - nums[j]) < t &#xff0c;同时又满足 abs(i - j) < k 。 如果存在则返回 true&#xff0c;不存在返回 false。 示例 1&#xff1a; 输入&…

Lesson 83 Go on holidays

Lesson 83 Go on holidays 词汇 mess n. 咋啊乱&#xff0c;凌乱 v. 弄乱&#xff0c;弄脏 搭配&#xff1a;mess up 事物 弄乱    make a mess 制造麻烦 例句&#xff1a;蓝墨水弄脏了她的新裙子。    She messed up her new dress with the blue ink. pack v. 包装…

html转vue项目

HTML是一种用于构建网页的标记语言&#xff0c;而Vue是一种用于构建用户界面的JavaScript框架。在HTML中使用Vue可以提供更加灵活和动态的用户界面功能。本文将介绍如何将HTML代码转换为Vue&#xff0c;并提供具体的代码示例。 首先&#xff0c;我们需要在项目中引入Vue框架。…