Docker 入门

Docker 入门

什么是Docker

是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google
公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub
上迕行维护。

Docker 自开源后受到广泛的关注和认论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经
在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技
术。

LXC 的基础上 Docker 迕行了迕一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用
户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

为什么使用Docker

具有以下几大优势

  • 更快的交付和部署
  • 更高效的虚拟化
  • 更轻松的迁移和扩展
  • 更简单的管理

基本概念

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

Docker 镜像

Docker 镜像就是一个只读的模板。

一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用
程序。

镜像可以用来创建 Docker 容器。
Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

Docker 容器

Docker 利用容器来运行应用。

容器是从镜像创建的运行示例,可以被启动、、停止、删除。每个容器都是相互隔离的,保证安全的平台

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

*注:镜像是叧读的,容器在启动的时候创建一层可写层作为最上层。

Docker 仓库

仓库是集中存放镜像文件的场所。

有时候会把仓库仓库注册服务器``(Registry)混为一谈,并不严格区
分。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)

仓库分为公开仓库Public)和私有仓库Private)两种形式。
最大的公开仓库是 Docker Hub,存放了数量巨大的镜像供用户下载。 国内的公开仓库包括 Docker Pool

用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用返个镜像时候,只需要从仓库上 pull 下来就可以了。

*注:Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 返样的托管服务。

Docker 安装

Ubuntu 安装

使用系统自带包安装

sudo apt-get update
sudo apt-get install -y docker.io
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

自带包安装的话版本较旧,可以通过Docker 源安装

Docker 源安装最新版本

sudo apt-get install apt-transport-https
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA8
sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker

启动Docker服务

sudo service docker start

CentOS 7安装

CentOS 7系统 CentOS-Extras 库中已自带Docker

sudo yum install docker
# 安装之后启动docker 服务,让随着系统启动自动加载
sudo service docker start
sudo chkconfig docker on
posted @ 2021-09-09 21:38  4eg1s  阅读(46)  评论(0编辑  收藏  举报