聊聊docker

一、docker简介

  • Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
    *
  • 聊聊docker【一】初识docker_docker


Docker 的基本组成

  • 镜像(image):镜像文件生成容器实例,本身也是一个文件,称为镜像文件;其实image文件可以看作是容器的模版,Docker根据文件生成容器实例,同一个image文件,可以生成多个同时运行的文件实例。
  • 容器(cantainer):一个容器运行一种服务,当需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是容器;其实类似于通过镜像new出来的实例对象。
  • 仓库(repository):存放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库总拉取就行。

二、官网地址

​https://www.docker.com/​​​ ​​点此跳转官网​

聊聊docker【一】初识docker_原力计划_02


官方文档地址

​https://docs.docker.com/​

​ ​

​点此跳转官方文档​

聊聊docker【一】初识docker_容器_03


仓库地址
​https://hub.docker.com/​

​点此跳转仓库地址​

可以发布自己的镜像。也可以拉取别人的镜像


聊聊docker【一】初识docker_原力计划_04

三、Docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

之前的虚拟技术

聊聊docker【一】初识docker_docker_05


特点

​资源十分多​

​ ​

​冗余步骤多​

​ ​

​启动很慢​

容器化技术

聊聊docker【一】初识docker_linux_06


特点

容器间互相隔离、轻便

比较

聊聊docker【一】初识docker_docker_07

四、容器与微服务

  • 容器是微服务和云原生架构的最佳实现载体
    微服务与容器几乎是完美的搭配。单体式架构(Monolithic)变成微服务架构(Microservices),相当于一个全能型变成N个专能型,每个专能型分配一个隔离的容器,赋予了最大程度的灵活。
  • 容器化是云计算的终极形态
    服务器势必会走上虚拟化的道路,因为虚拟化有太多的优势,例如前文所说的低成本、高利用率、充分灵活、动态调度等等。而采用容器之后,只需要一台服务器,创建十几个容器,用不同的容器,来分别运行不同用途的服务程序。这些容器,随时可以创建,也可以随时销毁。还能够在不停机的情况下,随意变大,随意变小,随意变强,随意变弱,在性能和功耗之间动态平衡。
  • 聊聊docker【一】初识docker_云原生_08

五、docker的安装

上节回顾
上一节我们简单的介绍了docker的一些特点,现在我们来具体认识它吧

安装docker的环境准备

  • 会linux一点点基础
  • 有一台linux(我用的阿里云的CentOS7)

聊聊docker【一】初识docker_docker_09

  • 第一步:卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

聊聊docker【一】初识docker_docker_10

  • 第二步:一些安装方法

聊聊docker【一】初识docker_容器_11

  • 大多数用户设置Docker的存储库并从中进行安装,以便于安装和升级任务。这是推荐的方法。
  • 一些用户下载RPM包并手动安装,完全手动管理升级。这在某些情况下很有用,例如在无法访问互联网的气隙系统上安装Docker。
  • 在测试和开发环境中,一些用户选择使用自动便利脚本来安装Docker。

我们通过仓库安装

  • 安装 yum-utils 软件包(提供扩展配置管理器实用程序)并设置存储库。
sudo yum install -y yum-utils
  • 设置yum源地址 默认从国外下载 很慢
    ​​​sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo​​ 我们用国内的镜像
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

秒下载

聊聊docker【一】初识docker_容器_12

其他yum源

  • 清华大学源
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装
ce 社区版本 ee企业版本

  • 安装最新版本的 Docker 引擎、容器化和 Docker 撰写,或转到下一步以安装特定版本
    ​​​sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin​
  • 或者指定版本要安装特定版本的 Docker 引擎,请在存储库中列出可用版本,然后选择并安装:
    ​​​yum list docker-ce --showduplicates | sort -r​
  • 聊聊docker【一】初识docker_云原生_13

  • ​sudo yum install docker-ce-<版本_字符串> docker-ce-cli-<版本_字符串> containerd.io docker-compose-plugin​
  • 聊聊docker【一】初识docker_docker_14


六、启动docker

sudo systemctl start docker //启动命令
docker version //可以查看是否启动成功

聊聊docker【一】初识docker_容器_15

测试

docker run hello-world

聊聊docker【一】初识docker_云原生_16


查看 刚刚下载的 hello-world镜像在不在

docker images

聊聊docker【一】初识docker_容器_17

七、配置阿里云镜像加速

我并不直接给出阿里云镜像的地址,因为随着阿里云的不断维护升级,镜像地址可能会有变化,所以我直接给步骤查地址

  • 登陆阿里云:​​阿里云​
  • 聊聊docker【一】初识docker_linux_18


  • 账号登陆/注册
  • 进入控制台—>到产品与服务—>产品与服务列表—>容器镜像服务

聊聊docker【一】初识docker_docker_19

== 执行相关命令==

  • 1)创建docker下载路径的配置文件
    ​​​sudo mkdir -p /etc/docker ​
  • (2)配置阿里云镜像地址
    ​​​sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://2kg75k2e.mirror.aliyuncs.com"] } EOF​
  • (3)重启docker的伴随线程
    ​​​sudo systemctl daemon-reload​
  • (4)重启docker服务
    ​sudo systemctl restart docker​
  • 聊聊docker【一】初识docker_云原生_20