Docker入门

本文是Docker的入门教程,涵盖了Docker的基本概念,如容器和镜像,以及Docker在服务器部署、性能优化等方面的优势。教程还详细介绍了如何在Ubuntu 16.04上在线安装Docker,配置阿里云镜像仓库,以及常用命令的使用,包括镜像下载、容器管理和容器内部信息的查看。适合初学者快速掌握Docker的基础操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、介绍Docker

新一代虚拟化技术

0、前置条件

1、Docker是什么

 2. Docker与虚拟化

3. Docker虚拟化的好处

4. 核心概念

5. Ubuntu16.04安装docker(在线方式) 

 6. 镜像

7. Docker容器 

环境配置

 8. 查看Docker容器内部信息

二、阿里云镜像仓库配置

三、常用命令

1、基本命令

2、镜像命令

3、容器命令


一、介绍Docker

新一代虚拟化技术

0、前置条件

 需要掌握Linux及常用命令

1、Docker是什么

Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs),它是完整的一套容器管理系统 
   Docker提供了一组命令,让用户更加方便直接地使用容器技术,而无需要过多关心底层内核技术

   注1:什么是容器
        一个容器就相当于一个虚拟机

   注2:docker用途,目前有三大类
        1.提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
        2.提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容
        3.组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构

 2. Docker与虚拟化

传统来看,虚拟化既可以通过硬件模拟来实现,也可以通过操作系统软件来实现 而容器技术则更为优雅,
   它充分利用了操作系统本身已有的机制和特性,可以实现远超传统虚拟机的轻量级虚拟化 因此,有人甚至把它称为
   “新一代的虚拟化”技术,并将基于容器打造的云平台亲切地称为“容器云”毫无疑问, 
   Docker 正是众多容器技术中的佼佼者,是容器技术发展过程中耀眼的一抹亮色


   注1:images/Docker 和常见的虚拟机方式的不同之处.png

   注2:Docker和一个正常的虚拟机有何区别?
        当前,Docker内部使用的是Linux容器技术(LXC),这是运行在与它的宿主机器同样的操作系统上。
        这准许它可以和宿主机器共享许多系统资源。它也会使用AuFS作为文件系统,也为你管理网络。

3. Docker虚拟化的好处

好处一:应用部署方便

   举个简单的例子,假设用户试图基于最常见的 LAMP (Linux+Apache+MySQL+PHP )组
   合来构建网站 按照传统的做法,首先需要安装 Apache MySQL PHP 以及它们各自运
   行所依赖的环境;之后分别对它们进行配置(包括创建合适的用户、配置参数等);经过大
   量的操作后,还需要进行功能测试,看是否工作正常;如果不正常,则进行调试追踪,意
   味着更多的时间代价和不可控的风险 可以想象,如果应用数目变多,事情会变得更加难以处理

   更为可怕的是, 旦需要服务器迁移(例如从阿里云迁移到腾讯云),往往需要对每个
   应用都进行重新部署和调试 这些琐碎而无趣的“体力活”,极大地降低了用户的工作效率
   究其根源,是这些应用直接运行在底层操作系统上,无法保证同一份应用在不同的环境中行为一致

   Docker 提供了一种更为聪明的方式,通过容器来打包应用、解藕应用和运行平台
   这意味着迁移的时候,只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器
   是否是同一类型的平台 这无疑将帮助我们节约大量的宝贵时间,并降低部署过程出现问题的风险 

  好处二:服务器同等配置,性能更优,利用率更高
   让我们假设你有一个容器镜像(image)容量是1GB,如果你想用一个完整的虚拟机来装载,
   你得需要容量的大小是1GB乘上你需要虚拟机的数量。但使用Linux容器虚拟化技术(LXC)和AuFS,你可以共享1GB容量,
   如果你需要1000个容器,假设他们都运行在同样的系统影像上,你仍然可以用稍微比1GB多一点的空间来给容器系统
   因此,借助经过全面调优的容器系统,你就可以在同一硬件上拥有数量比使用Xen虚拟机或KVM虚拟机多出四到六倍的服务器应用实例。

   实际案例:以springcloud微服务为例
             7个服务-7台linux服务器
             7个服务-1台linux服务器-docker-7个镜像

4. 核心概念

Docker大部分的操作都围绕着它的三大核心概念: 镜像、容器和仓库(本章只用到镜像/容器,仓库在后面课程介绍)
   1.镜像
     Docker 镜像类似于虚拟机镜像,可以将它理解为一个只读的模板
     例如,一个镜像可以包含一个基本的操作系统环境(例如:ubuntu16.04),可以把它称为一个 ubuntu16.04 镜像

   2.容器
     1.Docker 容器类似于一个轻量级的沙箱, Docker利用容器来运行和隔离应用  
     2.容器是从镜像创建的应用运行实例 它可以启动、开始、停止 删除,而这些容器都是彼此相互隔离、互不可见的
     3.可以把容器看作一个简易版的 Linux 系统环境(包括 root 用户权限、进程空间、用户空间和网络空间等)
       以及运行在其中的应用程序打包而成的盒子

   3.仓库
     Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。
  
     注1:Docker 仓库和仓库注册服务器( Registry)的区别
          分际上,仓库注册服务器是存放仓库的地方,其上往往存放着多个仓库 每个仓库集中存放某一类镜像,
          例如存放 Ubuntu 操作系统镜像的仓库,其中可能包括 16.04 18 04 等不同版本的镜像,它则被称Ubuntu仓库

          

5. Ubuntu16.04安装docker(在线方式) 

   ## 1.卸载可能存在的旧版本
   apt-get remove docker docker-engine docker-ce docker.io

   ## 2.更新apt包索引
   apt-get update

   ## 3.安装以下包以使apt可以通过HTTPS使用存储库(repository)
   apt-get install -y apt-transport-https

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值