Docker学习入门(一):Docker简介、Docker的启动与安装、常用命令;

Docker的学习目标:
1.掌握Docker基础知识,能够理解Docker镜像与容器的概念
2.完成Docker安装与启动
3.掌握Docker镜像与容器相关命令

一、Docker简介

1.1.什么是虚拟化

    在计算机中,虚拟化(Virtuallization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍。

    使用户可以比原本的组态更好的方式来应用这些资源,这些资源的新虚拟部分是不受现有资源的架设方式、地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

    在实际生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件,对资源充分利用。

    虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化、桌面虚拟化、服务虚拟化、虚拟机等。

1.2.什么是docker

1.2.1.Docker的背景
         Docker是一个开源项目,诞生2013年初,最初是dotCloud公司内部的一个业务项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金 会,遵从Apache2.0协议,项目代码在Github上进行维护。

         Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为Docker Inc. Redhat已经在其 RHEL6.5 中集中支持Docker;Google也在其Paas产品中广泛应用。 Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker基础是Linux容器等技术。
         在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简单,用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。

1.2.2.为什么选择Docker?

1.上手快
        用户只需要几分钟,就可以把自己的程序"Docker化"。Docker依赖于"写时复制"模型,使修改应用程序也非常迅速,可以说达到"随心所欲,代码即改"的境界。    
        随后,就可以创建容器来运行应用程序了。大多数Docker程序只需要不到1秒钟即可启动,由于出去了管理程序的开销,Docker容器拥有很高的性能,同时同一台中也可以运行更多的容器,使用户尽可能的充分利用系统资源。


 2.职责的逻辑分类 
       使用Docker,开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如何管理容器。Docker设计的目的就是要加强开发人员写代码的开发环境
        与应用程序部署的生产环境一致性。从而降低那种"开发时一切正常,肯定是运维的问题/测试环境都是正常的,上线后出了问题就归结于肯定是运维的问题"。


3.快速高效的开发生命周期
      Docker的目标之一就是缩短代码开发从开发、测试到部署、上线运行的周期,让你的应用程序具备可移植性,易于构建,并易于协作。(通俗说一点,Docker就像一个盒子,里面可以装很多物件,如果需要这些物件的可以直接将该大盒子拿走,而并不要从盒子中一件件的取)


 4.鼓励使用面向服务的架构
        Docker还鼓励面向服务的体系结构和微服务架构。Docker推荐单个容器只运行一个应用程序或进程,这样就形成了一个分布式的应用程序模型,在这种模型下,应用程序或者服务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序都变得非常简单,同时也提高了程序的内省性。(当然,可以在一个容器中运行多个应用程序)


1.3.容器与虚拟机的比较

       下面的图片比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地的操作系统,而传统方式则是在硬件层面实现。
        
        1.          Virtual Machines
               AppA              AppB     (各种应用软件)
             Bins/Libs         Bins/Libs  (安装库)
             Guest OS          Guest OS   (虚拟级操作系统,运行在虚拟层,和系统的本地操作系统没有关系。每个操作系统占用大量内存)
                     Hypervisor              (虚拟层软件/vimware)
                      Host  OS               (服务器本机的操作系统)
                      

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Docker是一种容器化技术,可以在不同的操作系统上运行应用程序。Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。 以下是一些常用的DockerDocker Compose命令: ### Docker - `docker run`: 运行一个Docker容器。 - `docker ps`: 列出正在运行的Docker容器。 - `docker images`: 列出所有本地镜像。 - `docker build`: 使用Dockerfile构建一个Docker镜像。 - `docker push`: 将本地镜像上传到Docker Hub或其他Docker镜像仓库。 - `docker pull`: 从Docker Hub或其他Docker镜像仓库中下载一个镜像。 - `docker rm`: 删除一个或多个Docker容器。 - `docker rmi`: 删除一个或多个本地Docker镜像。 ### Docker Compose - `docker-compose up`: 构建并启动一个Docker Compose应用。 - `docker-compose down`: 停止并删除一个Docker Compose应用。 - `docker-compose ps`: 列出正在运行的Docker Compose服务。 - `docker-compose logs`: 查看一个Docker Compose服务的日志。 - `docker-compose exec`: 在一个Docker Compose服务中执行一个命令。 - `docker-compose build`: 构建一个Docker Compose服务的镜像。 - `docker-compose pull`: 下载一个Docker Compose服务的镜像。 ### Docker Compose配置文件 Docker Compose使用YAML格式的配置文件来定义多容器Docker应用程序。以下是一个示例配置文件: ``` version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` - `version`: 定义配置文件使用的Docker Compose版本。 - `services`: 包含一个或多个Docker容器服务的列表。 - `build`: 构建一个Docker镜像。 - `image`: 使用现有的Docker镜像。 - `ports`: 映射容器端口到主机端口。在此示例中,容器的5000端口将映射到主机的5000端口。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小砖er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值