zoukankan      html  css  js  c++  java
  • Docker入门与安装

    Docker简介

    Docker是一个开源的容器引擎,有助于更快速地交付应用。Docker将应用程序和基础设施隔离,并且能将基础设施当做程序一样进行管理。使用Docker,可以更快速地打包,测试以及部署应用程序。

    Docker架构

    图中包含的组件

    • Docker daemon(Docker守护进程)
    • Client(Docker客户端)
    • Images(Docker镜像)
      Docker镜像是一个只读模板,它包含了docker容器的说明。使用Docker镜像可以运行Docker镜像中的程序。
    • Container(容器)
      容器是镜像的可运行实例。镜像和容器的关系类似于OOP中的类和实例的关系。
    • Registry
      Docker Registry是一个集中存储与分发镜像的服务。
      一个Docker Registry可以包含多个Docker仓库,每个仓库可以包含多个镜像标签,每个标签对应一个Docker镜像。

    安装Docker CE

    OS requirements

    要安装Docker CE,需要一个CentOS7的maintained version。不支持或测试archived versions。
    必须启用centos-extras存储库。默认情况下启用此存储库,但如果您禁用了它,则需要重新启用它。
    建议使用overlay2存储驱动程序。

    卸载旧版本

    Docker的旧版本称为Docker或Docker-engine。如果安装了这些文件,请卸载它们以及相关的依赖项。如果yum报告说没有安装这些包,也没有关系。

    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
    

    可以使用yum list installed | grep docker列出已安装的docker相关项。

    使用存储库安装Docker CE

    在第一次在新主机上安装Docker CE之前,需要设置Docker存储库。然后,您可以从存储库安装和更新Docker。

    SET UP THE REPOSITORY

    1. 安装所需要的包。yum-utils提供yum-config-manager实用程序,设备映射器存储驱动程序需要device-mapper-persistent-data和lvm2。
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
    1. 使用以下命令设置stable repository。
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    INSTALL DOCKER CE

    1. 安装最新版本的Docker CE和containerd,或进入下一步安装特定版本:
    sudo yum install docker-ce docker-ce-cli containerd.io
    
    1. 要安装特定版本的Docker CE,请在repo中列出可用版本,然后选择并安装。

    a. 列出并分类repositories中可用的版本。这个例子按照版本号从高到低排序:

    yum list docker-ce --showduplicates | sort -r
    

    返回的列表取决于启用了哪些存储库,并且特定于CentOS版本
    b. 通过其完全限定的包名安装特定的版本

    sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io    
    
    1. 启动并加入开机启动
    sudo systemctl start docker
    sudo systemctl enable docker
    
    1. 通过运行hello-world映像,验证Docker CE是否正确安装。
    docker run hello-world
    

    错误整理

    解决Docker:Error response from daemon:...: net/http: TLS handshake timeout.

    问题:

    # docker run hello-world
    Unable to find image 'hello-world:latest' locally
    docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout.
    

    分析:
    docker默认镜像拉取地址为国外仓库下载速度较慢,则会报错“net/http: TLS handshake timeout”。
    解决方法:

    1. 进入阿里云镜像加速器页面 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    2. 配置镜像加速器,您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://u5kqywr6.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  • 相关阅读:
    idea使用配置lombok插件
    微服务框架搭建总结点(一):Springboot整合log4j2日志
    git使用笔记:git commit后,如何撤销commit
    SQL Server中char,varchar,nchar, nvarchar的区别
    SQL插入语句插入自增的主键后,如何获取这个新增的主键值
    Linq分组后,再对分组后的每组进行内部排序,获取每组中的第一条记录
    Flutter 笔记
    gch
    JVM内存观察
    mybatis for 循环 中oracle in 条件后 多余1000条处理
  • 原文地址:https://www.cnblogs.com/lideqiang/p/11128802.html
Copyright © 2011-2022 走看看