欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

学Docker

时间:2023-07-19
容器和虚拟机的区别

虚拟机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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。