开始不是很理解

docker-compose up

这个命令在干嘛,以为每次运行这条命令的额时候,都会生成新的container,如果启动多次,岂不是有很多镜像的全新实例跑在宿主机中?
其实不是这样的
docker-compose官方文档中有这么一段话

Preserve volume data when containers are created

Compose preserves all volumes used by your services. When
docker-compose up runs, if it finds any containers from previous runs,
it copies the volumes from the old container to the new container.
This process ensures that any data you’ve created in volumes isn’t lost

这段文字的大概意思是,compose会保留所有服务的volume data,这个volume data,我理解的是对容器做的所有修改。当再次运行docker-compose run这条命令的时候,compose会找到之前运行过的所有容器,然后把它们的volumes,也就是修改后的容器状态,从老的容器中,拷贝到新的容器中,在这个过程中新老容器的CONTAINER ID不会变化。

也就是说,compose对每个镜像维护的容器,永远只有一个
除非用docker rm删除这些容器,否则对容器所做的修改都会被保留。
其实,当用

docker-compose stop

暂停服务的时候,可以用

docker ps -a

查看所有容器的CONTAINER ID, -a 就是 --all
然后,用

docker-compose run

重新启动服务,用

docker ps

查看运行的容器的CONTAINER ID,(docker ps默认列出运行的容器),你会发现它们的id并没有发生改变。

docker run [image name]

命令不一样,每次对镜像运行这条命令的时候,实际上都重新生成了一个容器,即新生成了一个镜像的实例,它们对应的CONTAINER ID也是不一样的。

docker-compose的一些理解相关推荐

  1. Docker,compose,kitematic Overview and build Php WordExpress

    Docker 通常在服务器环境中使用较多,出于服务器端配置相对繁琐,前端使用Npm,yarn 等管理工具已经很方便了.下面开始介绍概念以及环境搭建 首先介绍下docker的基本概念照抄一下: Dock ...

  2. docker compose 在单机环境下一键打包运行

    docker-compose 1. docker run 启动服务 2. docker-compose启动服务 3. docker-compose 小demo 3. 1 step1 : Setup 3 ...

  3. 轻松掌握开发必会的docker套路-yaml语法与docker compose.yml

    我们编程的时候常常需要定义配置文件,配置文件的格式也多种多样,有用php的数组格式的,有xml格式的,也有json格式的. 由于docker compose使用的配置文件是docker-compose ...

  4. docker基础入门和docker compose实战

    Docker运维部署 docker官网:https://www.docker.com/ 文档:https://docs.docker.com/ Docker的文档是超级详细的! 仓库:https:// ...

  5. dockerfile、docker compose、k8s区别

    1.各自功能 dockerfile: 构建单个服务镜像,以脚本形式 docker-compose:多镜像编排容器 k8s:跨服务编排 2. 详解 2.1 dockerfile 从无到有的构建镜像,包括 ...

  6. docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim

    1. docker和k8s的爱恨情仇 1.1 PaaS的普及和难点 2013年,伴随着 PaaS 概念的逐步普及,以 Cloud Foundry 为代表的经典 PaaS 项目,开始进入基础设施领域的视 ...

  7. 什么,容器太多操作不过来?我选择Docker Compose梭哈

    接上一篇:面试官:你说你精通 Docker,那你来详细说说 Dockerfile 吧 一.容器之间通信 1.单向通信 1.1.什么意思 mysql和tomcat是两个独立的容器,但是tomcat需要和 ...

  8. docker compose dns 缓存_Docker深入浅出 | Docker Compose多容器实战

    Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...

  9. Docker基础、利用Docker Compose部署Vue项目

    前言 最近,接触了Docker,写一个笔记记录一下学习的成果.参考了docker官网和一个b站老师的讲解教程Docker快速上手教程,受益良多! 一.Docker安装和重要概念 1.安装docker ...

  10. 使用Docker Compose构建ZigBee基础架构

    For me, the first half of 2020 was a start for ZigBee and home automation basics. After the lockdown ...

最新文章

  1. 自监督媲美全监督,港中文、商汤场景去遮挡方法入选 CVPR 2020 Oral
  2. com关于IUnknown接口
  3. android 情景感知 sdk,情景感知服务
  4. mysql isolation level_MySQL数据库事务隔离级别(Transaction Isolation Level)
  5. Python windows安装MYSQL_db
  6. 啊哈算法中的Dijkstra最短路算法(好理解!!!)
  7. Qt Creator指定运行设置
  8. 用饮水机教你什么是RAID [转]
  9. 据说这份高考卷,只有程序员能得满分!
  10. java将date类型转成yyyymmdd_java中的Date怎么转换成YYYYMMDD形式?
  11. php 生成excel空白,phpexcel库在localhost上运行良好,但在服务器中生成空白的excel文件...
  12. SpringMvc 400 Bad Request解决方法
  13. python机器学习生物信息学-疾病预测模型
  14. win10 u盘 修复计算机,不用u盘修复bootmgrwin10方法
  15. proteus三输入与非门名字_三输入与非门的电路图是什么
  16. emacs java自动import_[转]emacs 代码自动补齐的三个方法
  17. dirver时区_时区问题
  18. Android程序水印效果
  19. matlab中的灰色预测,灰色预测MATLAB程序
  20. DR和DIS的区别?

热门文章

  1. datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...
  2. Javascript ES6 Promise同步读取文件(使用async、await)
  3. 腾讯云服务器CentOS 7安装Tomcat并部署JSP站点统计进入站点人数
  4. function core.php is missing,PHP代码
  5. sql server中的注释快捷键
  6. kafka分区分配策略
  7. Android SDK开发包下载地址
  8. ubuntu 重装系统备份数据 ubuntu安装kde桌面
  9. Linux操作系统Ifconfig命令详细解析
  10. 自考那些事儿(九):再次学操作系统