2.docker安装

0x01. Docker的基本组成

image-20210405090455629

镜像 (image):

docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==>run ==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

容器 (container):

Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。

启动,停止,删除,基本命令!

目前就可以把这个容器理解为就是一个简易的linux系统

仓库 (repository):

仓库就是存放镜像的地方!

仓库分为公有仓库和私有仓库!

Docker Hub ( 默认是国外的 )

阿里云....都有容器服务器 ( 配置镜像加速 )

0x02. 安装Docker

环境准备

  • 需要一点linux基础
  • CentOS7
  • xshell远程连接服务器操作

环境查看

  • 系统内核是3.10以上的

    [root@centos7 /]# uname -r
    3.10.0-1160.el7.x86_64
    
    [root@centos7 /]# cat /etc/os-release 
    NAME="CentOS Linux"
    VERSION="7 (Core)"
    ID="centos"
    ID_LIKE="rhel fedora"
    VERSION_ID="7"
    PRETTY_NAME="CentOS Linux 7 (Core)"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:centos:centos:7"
    HOME_URL="https://www.centos.org/"
    BUG_REPORT_URL="https://bugs.centos.org/"
    
    CENTOS_MANTISBT_PROJECT="CentOS-7"
    CENTOS_MANTISBT_PROJECT_VERSION="7"
    REDHAT_SUPPORT_PRODUCT="centos"
    REDHAT_SUPPORT_PRODUCT_VERSION="7"
    

安装

image-20210405092234767

image-20210405092252515

image-20210405092416313

详细步骤 :

# 1.卸载旧版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
# 2.安装需要的安装包
yum install -y yum-utils

# 3.设置镜像的仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo  # 默认国外的,贼慢
    
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 推荐使用阿里的
    
# 4.安装docker         docker-ce 社区版  docker-ee 企业版 , 最好更新一下yum
yum makecache fast      # 更新yum索引
yum install docker-ce docker-ce-cli containerd.io

默认安装的是最新版,也可以指定版本安装
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

# 5.启动docker
systemctl start docker

# 6.查看docker版本
docker version

image-20210405094627666

# 7.测试hello world
docker run hello-world

image-20210405100741651

# 8.查看镜像
docker images
[root@centos7 /]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
# 默认是没有hello-world的,所以docker run hello-world会报错

0x03. 卸载docker

# 1.卸载依赖
yum remove docker-ce docker-ce-cli containerd.io

# 2.删除资源
rm -rf /var/lib/docker             docker的默认工作路径
rm -rf /var/lib/containerd

0x04. 阿里云镜像加速

1.登录阿里云, 点击控制台, 找到产品与服务, 找到容器镜像服务

image-20210405095826684

2.找到镜像加速器

image-20210405100035454

3.配置使用

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://pl57o5ab.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

0x05. 回顾run的流程图

image-20210405100815792

image-20210405100507570

0x06. 底层原理

docker是如何工作的

Docker是一个c/s结构的系统, Docker的守护进程运行在主机上, 通过Socket从客户端访问

DockerServer 接受到 DockerClient 的指令, 就会执行这个命令

image-20210405101313606

Docker为什么比我们的虚拟机更快?

1.Docker有着比虚拟机更少的抽象层

2.Docker利用的是宿主机的内核, vm需要Guest OS

image-20210405101902164

所以说新建一个容器的时候, docker不需要像虚拟机一样重新加载一个操作系统内核, 避免引导操作, 但是虚拟机是加载Guest OS, 分钟级别的, 而docker是利用宿主机的操作系统, 省略了这个复杂的过程, 秒级的, 很快

原文地址:https://www.cnblogs.com/xcymn/p/15712423.html