首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker 1.12从yml文件"volumes“中读取旧行,而不是新行

Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,实现跨平台、快速部署和可移植性。它通过使用容器来隔离应用程序,使得应用程序可以在不同的环境中运行,而不受底层操作系统和硬件的限制。

在Docker中,可以使用yml文件来定义容器的配置和运行参数。其中,"volumes"是一个用于指定容器与主机之间共享数据的关键字。通过在yml文件中配置volumes,可以将主机上的目录或文件与容器内的目录或文件进行映射,实现数据的持久化和共享。

旧行和新行是指在Docker 1.12版本中对于volumes配置的不同处理方式。在旧行中,volumes的配置是通过指定主机上的目录路径来实现的。例如:

代码语言:txt
复制
volumes:
  - /path/on/host:/path/in/container

这种配置方式可以将主机上的/path/on/host目录与容器内的/path/in/container目录进行映射。

而在新行中,volumes的配置是通过指定Docker卷(Docker Volume)的名称来实现的。Docker卷是一种用于持久化存储容器数据的机制,可以在容器之间共享和重用。例如:

代码语言:txt
复制
volumes:
  - my_volume:/path/in/container

这种配置方式将使用名为my_volume的Docker卷与容器内的/path/in/container目录进行映射。

使用volumes配置可以带来以下优势:

  1. 数据持久化:通过将主机上的目录或Docker卷与容器内的目录进行映射,可以实现容器数据的持久化存储,避免容器重启或删除后数据丢失的问题。
  2. 数据共享:多个容器可以共享同一个主机目录或Docker卷,实现数据的共享和协作。
  3. 灵活性:通过修改yml文件中的volumes配置,可以灵活调整容器与主机之间的数据映射关系,方便进行容器的迁移和扩展。

关于Docker的更多信息和使用方法,您可以参考腾讯云的容器服务产品TKE(Tencent Kubernetes Engine):

请注意,本回答中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等品牌商,仅提供了与问题相关的答案内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Docker玩转PHP环境配置

这个时候如果有了Docker,只需要在机器上装个Docker,放上写好的Dockerfile,一命令就自动完成这个事,方便又高效,岂不是很爽?...当然,我们需要修改配置文件,只要事先写好配置文件就行,最后在 docker-compose.yml 文件,将配置文件扔进去,这个下面会讲,包括PHP的配置文件,MySQL的配置文件,都是一样的。.../data/www,/data/www路径,是到时候Nginx容器的路径,不是当前在操作的宿主机的路径,所以到时候我们要挂载Web程序放的位置到这个路径。.../app挂载到/data/www之中,也是我们配置文件定义的默认监听的root,APP目录是我们宿主机的一个目录,通过这样挂载我们可以直接将我们的项目文件放到APPDocker会帮你传输到容器内的...更多的工作是在于编写Dockerfile和docker-compose.yml文件。 3.2 使用Composer 当我们要使用Composer时怎么做呢?

2.1K20

Docker玩转PHP环境配置

这个时候如果有了Docker,只需要在机器上装个Docker,放上写好的Dockerfile,一命令就自动完成这个事,方便又高效,岂不是很爽?...当然,我们需要修改配置文件,只要事先写好配置文件就行,最后在 docker-compose.yml 文件,将配置文件扔进去,这个下面会讲,包括PHP的配置文件,MySQL的配置文件,都是一样的。.../data/www,/data/www路径,是到时候Nginx容器的路径,不是当前在操作的宿主机的路径,所以到时候我们要挂载Web程序放的位置到这个路径。.../app挂载到/data/www之中,也是我们配置文件定义的默认监听的root,APP目录是我们宿主机的一个目录,通过这样挂载我们可以直接将我们的项目文件放到APPDocker会帮你传输到容器内的...更多的工作是在于编写Dockerfile和docker-compose.yml文件。 3.2 使用Composer 当我们要使用Composer时怎么做呢?

2K20

使用 Docker 部署 FreshRSS 自建专属 RSS 服务

即便没有依赖,将长长的 bash 命令换成 yaml 文件的格式传入也舒服多了,不是吗?...创建一个目录如 ~/freshrss 并进入该位置,新建 docker-compose.yml,这就是 Docker Compose 的默认配置文件。...# 编辑配置文件,反正我习惯用 Vim vim docker-compose.yml # ~/freshrss/docker-compose.yml version: "3" services:...是不是简单得过分?相比于其他动辄半百配置文件的而言。Caddy 还能自动申请 Let’s Encypt 颁发的免费 SSL 证书,只需在第 2 填写你的邮箱即可。...插件 FreshRSS 虽有官方的插件仓库,但无法直接在插件配置中直接添加插件,说实话这我不是很理解,但在之前部署 FreshRSS 的 Docker Compose 配置文件已经将 ~/freshrss

4.8K51

Docker学习笔记之编写 Docker Compose 项目

0x02 编写 Docker Compose 配置文件 接下来我们就要编写 docker-compose.yml 文件来定义组成这个环境的所有 Docker 容器以及与它们相关的内容了。...docker-compose.yml 规则和编写的方法在前两小节已经谈到,这里我们就不再展开,直接来看看编写好的 docker-compose.yml 配置文件。...$@ 是 shell 脚本获取参数的符号,这里获得的是所有传入脚本的参数, exec 是执行命令,直接执行这些参数。 如果直接看这条命令大家会有些疑惑,参数怎么拿来执行,这不是有问题么?...对于这个例子来说,我们要启动它就必须使用这样的: $ sudo docker-compose -p website up -d 执行的目录必须是 docker-compose.yml 文件所在的目录,...这样才能正确地读取 Docker Compose 项目的配置内容。

1.6K50

Docker重学系列之Docker Compose

---- env_file 文件获取环境变量,可以为单独的文件路径或列表。.../apps/web.env - /opt/secrets.env 环境变量文件每一必须符合格式,支持 # 开头的注释。...working_dir: /code 该命令建议放在Dockerfile书写,不建议放在docker-compose.yaml文件书写 ---- 读取变量 Compose 模板文件支持动态读取主机的系统环境变量和当前目录下的...若当前目录存在 .env 文件,执行 docker-compose 命令时将从该文件读取变量。 在当前目录新建 .env 文件并写入以下内容。...默认情况,如果服务容器已经存在,docker-compose up 将会尝试停止容器,然后重新创建(保持使用 volumes-from 挂载的卷),以保证启动的服务匹配 docker-compose.yml

1.5K20

Docker学习笔记之常用的 Docker Compose 配置项

Docker Compose 的配置文件里,对服务的定义与我们之前谈到的创建和启动容器的选项非常相似,或者说 Docker Compose 就是配置文件读取出这些内容,代我们创建和管理这些容器的...在使用外部文件挂载的时候,我们可以直接指定相对目录进行挂载,这里的相对目录是指相对于 docker-compose.yml 文件的目录。...由于有相对目录这样的机制,我们可以将 docker-compose.yml 和所有相关的挂载文件放置到同一个文件夹下,形成一个完整的项目文件夹。...所以在开发时,我们推荐直接将代码挂载到容器里,不是通过镜像构建的方式打包成镜像。 同时,在开发过程,对于程序的配置等内容,我们也建议直接使用文件挂载的形式挂载到容器里,避免经常修改所带来的麻烦。...需要注意的是,由于 YAML 格式对 xx:yy 这种格式的解析有特殊性,在设置小于 60 的值时,会被当成时间不是字符串来处理,所以我们最好使用引号将端口映射的定义包裹起来,避免歧义。

72140

使用Docker 1.12.x构建多容器Web应用程序

对于这些问题,我认为 Kubernetes是构建和扩展灵活的多服务应用程序的一个不错的选择,但是Docker自身也提供了相应的功能:Docker 1.12添加了swarm和docker-compose模块...只需要构建单个容器的Dockerfiles,然后通过配置docker-compose.yml文件将单个容器组合。...Hub官方的dockerfiles构建,这里使用一个容器作为mongodb服务器,另一个作为数据容器 - 请参阅下面完整的docker-compose.yml文件。...实现也很简单,只需在docker-compose.yml添加haproxy参数设置: image: dockercloud/haproxy depends_on:...我在docker-compose.yml配置的容器启动顺序是(第一个到最后一个): mongodata(数据容器) mongo addressbook(提供REST接口的后端应用) web(基于AngularJS

1.3K60

Docker搭建Laravel开发环境

第二步:添加docker-compose.yml 在项目中创建 docker-compose.yml文件。...Laravel读取配置使用的 DotEnv会检测是否系统有指定环境变量的设置,有的话就不会在去读取 .env文件了。...因为在开发时经常需要执行他们,如果发布到生产环境,一般是使用单独的composer对项目代码进行构建不是放在运行应用的容器里,容器的核心思想之一就是保持单一,这样才能做到快速增加相同角色的容器。...: dbdata: Notes: 在文件的最下面我们通过 volumes命令创建了一个名为 dbdata的数据卷(dbdata后面的冒号是有意写上去的,这是YML文件的一个语法限制,不用太关心) 定义完数据卷后...gist里的文件稍微一些,后来在使用的过程又加入些的PHP模块和Node,之前composer也单独放到了一个容器,不过相信聪明的你看到这里应该已经会根据需求更改这些文件啦。

4.3K10

【实践】12.DOCKERDocker Compose

默认情况,如果服务容器已经存在,docker-compose up 将会尝试停止容器,然后重新创建(保持使用 volumes-from 挂载的卷),以保证启动的服务匹配 docker-compose.yml...如果用户只想重新部署某个服务,可以使用 docker-compose up --no-deps -d 来重新创建服务并后台停止服务,启动服务,并不会影响到其所依赖的服务.../apps/web.env - /opt/secrets.env 环境变量文件每一必须符合格式,支持 # 开头的注释。...tty: true 读取变量 Compose 模板文件支持动态读取主机的系统环境变量和当前目录下的 .env 文件的变量。...若当前目录存在 .env 文件,执行 docker-compose 命令时将从该文件读取变量。 在当前目录新建 .env 文件并写入以下内容。

2.3K10

docker compose搭建redis7.0.4高可用一主二三哨兵集群并整合SpringBoot【图文完整版】

分片集群最低配是三主三。 本次以一台虚拟机进行搭建,小编也是搭建了一星期,主从没啥问题,就是故障转移不行,根本原因就是docker网络的问题,redis和哨兵不在一个网段。...在redis创建compose文件 必须以docker-compose.yml命名,本次测试redis就不挂载目录到宿主机了,需要的可以使用volumes挂载到宿主机!...vim docker-compose.yml 4. 编辑compose文件 这里为了测试方便,就不设置密码了!...第四:限制在一次故障转移之后,每次向的主节点同时发起复制操作节点个数,越大效率越慢。 创建sentinel1.conf文件,把上面四粘贴进来!...重启6379服务 docker restart e77 我们发现刚刚加入的6379会以节点加入到主节点中!! 五、整合SpringBoot 1.

1.5K51

使用Docker 1.12.x构建多容器Web应用程序

以及 “如何让一个容器的应用程序如何与另一个容器(的程序)进行通信?” Kubernetes的一个特性是多个容器构建应用程序并进行可操作的扩展,但是我现在还没有准备好一下子去完全实现这个想法。...况且,Docker 1.12添加了“swarm模式”以及docker-compose工具,看起来Docker已经拥有了帮助构建和扩展多容器应用的大部分工具,我们并不需要去找额外的工具来做这些事情。...事实证明,为每一个容器编写一个单独的dockerfile后重新在docker-compose.yml进行连接并不会麻烦很多。...每个容器开始,下面是每个简单的Docker文件: Spring Boot 容器 FROM java:openjdk-8-alpine ADD SpringBootAddressBook-0.0.1-SNAPSHOT.jar...我写在完整的docker-compose.yml的顺序是(从头到尾): mongodata (数据容器) mongo addressbook (REST后端) web(AngularJS前端) haproxy

2.2K100

如何连接Docker容器

本指南将使用一个简单的示例应用程序来演示Docker容器通信的基础知识。该应用程序将包含一个Node.js应用程序,该应用程序PostgreSQL数据库读取数据。...由于你将从容器(拥有IP地址d,不是localhost)连接到此数据库,因此您需要编辑PostgreSQL配置文件以允许来自远程地址的连接。...database在运行时声明主机,不是硬编码应用程序的IP地址,有助于保持容器可重用。...在与Dockerfile相同的目录,创建一个docker-compose.yml包含以下内容的文件: #docker-compose.yml version: '3' services: database...使用Docker Compose可以进一步简化此过程,允许您在docker-compose.yml文件声明连接,以便在启动容器时自动建立连接。 本指南中未介绍其他连接选项。

5.6K41

Docker Getting started with Java

Docker 读取 Dockerfile 的命令并依次执行它们,每一条指令都会提交为一个镜像层,下一条指令都是基于上一条指令构建的。...那么当我们使用 docker build 命令来构建镜像时,这个构建过程其实是在 Docker 引擎完成的,不是在本机环境。...这里就有了一个镜像构建上下文的概念,当构建的时候,由用户指定构建镜像的上下文路径, docker build 会将这个路径下所有的文件都打包上传给 Docker 引擎,引擎内将这些内容展开后,就能获取到所有指定上下文中的文件了.../package.json /project,其实拷贝的并不是本机目录下的 package.json 文件,而是 Docker 引擎展开的构建上下文中的文件,所以如果拷贝的文件超出了构建上下文的范围,..., compose.yml, compose.yaml,如果文件不是这几个,需要使用 -f 参数指定文件名。

1.9K60

私有化轻量级持续集成部署方案--05-持续部署服务-Drone(下)

可以简单的理解为, .drone.yml 配置文件相当于一个 .sh 文件,部署操作配置在这个文件,交给 Drone 引擎执行。 下面就一步步编写部署 Web 项目。...拉取最新镜像 ---> 停止和移除容器 ---> 启动容器。...后查询文档发现 plugins/docker 镜像支持读取项目根目录下 .tags 文件进行设置版本号 有一种解决方案,将package.json 文件 version 属性写入到 .tags 文件。...= 服务器部署步骤一共 5 个命令 拉取镜像 卸载容器 删除 Volume 启动容器 删除镜像 第三个命令可以在 Docker Compose 使用外部 Volume ,这样就不需要删除 Volume...最后一个命令是删除的镜像,当成功拉取的 latest 镜像,镜像 Tag 会变成 none,所以删除标签为 none 的镜像即可

1.8K30

可能是Asp.net Core On host、 docker、kubernetes(K8s) 配置读取的最佳实践

一、先把配置文件改成Yaml格式 注: 其实不改为yml也可以的!!...,其实我现在越来越喜欢用yml了 既然配置源的格式变了,那读取配置的方法也肯定变了,起码config.AddJsonFile(“xx.json”) 要改为 config.AddYamlFile(“xx.yml...把你的配置文件放到/home/heidemo/config目录后,比如我们什么的示例配置文件: appsettings.yml docker run --rm=true -v /home/heidemo...挂载配置做到各种环境下的配置统一; 最后,我抛出了一个问题:On K8s的时候, 程序启动使用的配置,如何在配置文件更新的情况后重启程序应用配置(或者叫热加载配置?...当然这里不是指配置文件的reloadOnChange=true); 源码 https://github.com/gebiWangshushu/Hei.Ocelot.ApiGateway 参考 龙哥Edison

1K10
领券