Docker的基本组成

架构

2_Docker安装 - 图1

三要素

  1. 镜像(image):Docker 镜像, image, 就是一个只读的模版, 镜像可以用来创建Docker 容器, 一个镜像可以创建很多容器。镜像类似于java中的类
  2. 容器(container): Docker 利用容器独立运行的一个或者一组应用. 容器就是镜像创建的运行实例. 可以把容器看成一个简易版的linux 系统。某一个镜像的实例就是一个容器,这每一个容器就是运行时环境。容器类似于java中的实例。
  3. 仓库(repository): 就是存放镜像的地方.

    总结

    需要正确的理解仓储/镜像/容器这几个概念:

  4. Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎 image镜像文件。只有通过这个镜像文件才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。

  5. image 文件生成的容器实例,本身也是一个文件,称为镜像文件。
  6. 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器
  7. 至于仓储,就是放了一堆镜像的地方,我们可以把镜像发布到仓储中,需要的时候从仓储中拉下来就可以了。

    Docker安装

    安装步骤

    提前说明:docker需要安装在centOS7以上的版本:cat /etc/redhat-release
    image.png

以下内容根据 官方文档 修改而来
中文安装手册

  1. https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites


1、若之前安装过docker,先删除

  1. sudo yum remove docker docker-common docker-selinux docker-engine

2、安装所需要的依赖及配置仓库地址

  1. //安装依赖
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. //设置仓库地址
  4. wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
  5. sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
  1. 设置镜像仓库

    1. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  2. 更新yum软件包索引

    1. yum makecache fast
  3. 安装docker

    1. sudo yum install docker-ce
  4. 启动 docker 并设置开机启动

    1. 启动dockersudo systemctl start docker
    2. 检查docker版本:docker -v
    3. 查看docker已下载的镜像:sudo docker images
    4. 设置开机启动:sudo systemctl enable docker

    测试

  5. 拉取helloworld镜像,进行docker安装成功的验证

image.png

  1. 测试 docker 常用命令,注意切换到 root 用户下
    https://docs.docker.com/engine/reference/commandline/docker/

    配置 docker 镜像加速

    通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器 ,让docker去国内的阿里云仓库去拉取镜像;国外是dockerhub,国内是阿里云仓库等。
    在配置中加入自己的专属加速地址
    image.pngimage.png
    1. # 创建文件
    2. sudo mkdir -p /etc/docker
    3. # 修改配置, 设置镜像
    4. sudo tee /etc/docker/daemon.json <<-'EOF'
    5. {
    6. "registry-mirrors": ["https://fv0zn3t0.mirror.aliyuncs.com"]
    7. }
    8. EOF
    9. # 重启后台线程
    10. sudo systemctl daemon-reload
    11. # 重启docker
    12. sudo systemctl restart docker

    Docker卸载

    ```bash systemctl stop docker

yum -y remove docker-ce

rm -rf /var/lib/docker ```

底层原理

image.png