• Docker 介绍和安装(一)


    #  下载阿里云的 Centos7 的docker.repo 
    
    # step 1: 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    # Step 2: 添加软件源信息
    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # Step 3: 更新并安装Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
    # Step 4: 开启Docker服务
    sudo service docker start
    
    # 注意:
    # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
    # vim /etc/yum.repos.d/docker-ee.repo
    #   将[docker-ce-test]下方的enabled=0修改为enabled=1
    #
    # 安装指定版本的Docker-CE:
    # Step 1: 查找Docker-CE的版本:
    # yum list docker-ce.x86_64 --showduplicates | sort -r
    #   Loading mirror speeds from cached hostfile
    #   Loaded plugins: branch, fastestmirror, langpacks
    #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
    #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
    #   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
    #   Available Packages
    # Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
    # sudo yum -y install docker-ce-[VERSION]
    
    # 验证版本:
    [root@node-2 ~]# docker version
    Client: Docker Engine - Community
     Version:           19.03.12
     API version:       1.40
     Go version:        go1.13.10
     Git commit:        48a66213fe
     Built:             Mon Jun 22 15:46:54 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    

    引用: https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11OFih08

    Docker Engine:

    不同的引擎存储效果不一样, 还是需要谨慎. 可以有很多方案的
    
    # 查看引擎存储格式(官方推荐overlay2 格式):
    docker info
    .......
    Storage Driver: overlay2  # 19.0+ 默认这个格式
    
    Storage Driver: devicemapper  # 老版本都是这个格式,一开始就是100G 超过以后就会出现IO error. 不推荐使用
    
    # 如果docker 数据目录是一块单独的磁盘分区而且是XFS格式的,那么需要在格式化的时候加上参数: -n ftype=1 , 否则后期再启动容器的时候会报错不支持d -type
    

    docker  XFS info

    Docker 镜像加速配置:

    引用: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors?accounttraceid=60b8bc68b9cf4a29a250a87a4a721f4cmmsa

    ## 
    国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
    
    网易:https://hub-mirror.c.163.com/
    阿里云:https://<你的ID>.mirror.aliyuncs.com
    七牛云加速器:https://reg-mirror.qiniu.com
    
    当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
    
    阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
    
    
    1. 安装/升级Docker客户端
    推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce
    
    2. 配置镜像加速器
    针对Docker客户端版本大于 1.10.0 的用户
    
    您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://i04elxtl.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    Docker 查看进程关系:

    [root@node-2 overlay2]# ps -ef | grep docker
    root      11951      1  0 16:34 ?        00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    root      12211   1257  0 16:36 pts/0    00:00:00 grep --color=auto docker
    [root@node-2 overlay2]# pstree 11951
    dockerd───9*[{dockerd}]
    [root@node-2 overlay2]# pstree 11951
    dockerd───9*[{dockerd}]
    [root@node-2 overlay2]# pstree -p 11951
    dockerd(11951)─┬─{dockerd}(11952)
                   ├─{dockerd}(11953)
                   ├─{dockerd}(11954)
                   ├─{dockerd}(11955)
                   ├─{dockerd}(11956)
                   ├─{dockerd}(11957)
                   ├─{dockerd}(11958)
                   ├─{dockerd}(11959)
                   └─{dockerd}(12070)
    

    Docker 镜像使用:

    # 下载镜像
    [root@node-2 overlay2]# docker pull nginx
    Using default tag: latest
    chalatest: Pulling from library/nginx
    8559a31e96f4: Pull complete 
    8d69e59170f7: Pull complete 
    3f9f1ec1d262: Pull complete 
    d1f5ff4f210d: Pull complete 
    1e22bfa8652e: Pull complete 
    Digest: sha256:21f32f6c08406306d822a0e6e8b7dc81f53f336570e852e25fbe1e3e3d0d0133
    Status: Downloaded newer image for nginx:latest
    docker.io/library/nginx:latest
    
    # 以nginx镜像启动2个容器:
    [root@node-2 overlay2]# docker run -it -d -p 80:80 nginx
    3241dc8d7601b55c0de488d9b04715d0f263c9ef183d16a5d5c35a3f234f12e2
    [root@node-2 overlay2]# docker run -it -d -p 81:80 nginx
    855d166e25f80310f923d73cdce8fd4d89455ef6851ca8644fa4def6bbddb9e9
    
  • 相关阅读:
    POJ 3352&&3177 (割边 && 边双连通分量)
    .net程序员的盲点(二):两个“属性”引起的歧异
    .net程序员的盲点(一):参数修饰符ref,out ,params的区别
    .net程序员的盲点(一):参数修饰符ref,out ,params的区别
    args argc argv 的意思以及英文缩写
    .net程序员的盲点(一):参数修饰符ref,out ,params的区别
    .net程序员的盲点(一):参数修饰符ref,out ,params的区别
    .net程序员的盲点(一):参数修饰符ref,out ,params的区别
    args argc argv 的意思以及英文缩写
    args argc argv 的意思以及英文缩写
  • 原文地址:https://www.cnblogs.com/zhenxing06/p/13267208.html
Copyright © 2020-2023  润新知