学Docker(4)

容器和虚拟机的区别

虚拟机vritual machine是带环境安装的一种解决方案,它可以在一个操作系统中运行另一个操作系统,对于底层系统来说,虚拟机只是一个普通文件,对底层系统上的应用程序毫无感知、毫无影响。在主操作系统上安装虚拟机,虚拟机上安装从操作系统,虚拟出各种硬件,在从操作系统上部署应用。虽然这是带环境安装的一种解决方案,但它在硬件层面虚拟化,资源占用多、启动慢、冗余步骤多。

思考:在主操作系统上想安装三台虚拟机centos7-A,centos7-B,centos7-C,虽然是三台不同的虚拟机,但都跑在centos7上面,可以想方法解决很多资源和成本,复用centos7。

容器是与系统隔离开的一系列进程,将软件用的到的所有资源(不是操作系统全部资源)打包成一个容器,保证了这个容器中的软件在任何的环境中都能运行。docker容器在操作系统层面虚拟化,直接复用本地主机操作系统,为每一个应用提供完全隔离的运行环境,它具有启动速度快、占用体积小的优势。

二者不同之处总结为:

虚拟机技术是虚拟出一套硬件之后,在其上运行一个完整的操作系统,再在系统上运行所需要的程序。

容器内的应用程序没有自己的内核也没有进行硬件虚拟,更加轻便。

每个容器有自己的文件系统,容器之间进程不会互相影响。

Compose

容器实例太多了怎么管理,例如容器之间启动的顺序、容器之间网络通信的调用等都需要一个管理者。

Compose负责实现对Docker容器集群的快速编排,管理多个Docker容器组成的一个应用,需要一个YAML格式的配置文件,写好多个容器之间的调用关系,然后只需要一个命令,就可以同时启动或关闭这些容器。

Compose核心概念:一个文件docker-compose.yml;两个要素:服务(应用容器实例)、工程(一组关联的应用容器组成完整的业务单元)

Compose使用的三个步骤:

1.使用Dockerfile定义应用程序的环境

2.compose的yaml文件定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

3.最后,执行 docker-compose up 命令来启动并运行整个应用程序。

Compose常用命令

docker-compose -h #查看帮助

docker-compose up #启动所有docker-compose服务

docker-compose up -d #启动所有docker-compose服务,并后台运行

docker-compose down #停止并删除容器、网络、卷、镜像

docker-compose exec yml里面的服务id #进入容器实例内部

docker-compose ps #展示docker-compose编排过的运行的所有程序

docker-compose top #展示docker-compose编排过的容器进程

docker-compose logs yml里面的服务id #查看容器输出日志

docker-compose config #检查配置

docker-compose config -q #检查配置,有问题才输出

docker-compose restart #重启服务

docker-compose start #启动服务

docker-compose stop #停止服务

yml文件:

version: "3"    #版本

service:     #服务
microService:   #服务名
  image: zzyy_docker:1.6  #镜像
  container_name: ms01   #容器名
  ports:
    - "6001:6001"   #端口号
  volumes:
    - /app/microService:/data   #挂载一个目录或者一个已存在的数据卷容器
  networks:
    - atguigu_net
  depends_on:   #解决依赖和启动先后问题
    - redis
    - mysql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值