Docker在线安装与离线安装

Docker在线安装与离线安装

本文提供了Docker在线安装与离线安装,解决不同环境下Docker安装问题。

Docker在线安装

  • 卸载旧版本

    yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
    
  • 下载需要的安装包

    yum install -y yum-utils
    
  • 设置镜像仓库

    # 设置阿里云的Docker镜像仓库
    yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 更新yum软件包索引

    yum makecache fast
    
  • 安装docker

    #安装最新版本
    yum install -y docker-ce docker-ce-cli containerd.io
    #安装指定版本
    yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
    
  • 配置Docker

    #"graph" 指定docker根目录(此目录最好是数据盘) 重要
    #"registry-mirrors" 指定docker镜像仓库地址 重要
    #"log-opts" 指定docker日志滚动策略 最大100M 最多保留20个 重要
    sudo mkdir -p /etc/docker
    sudo mkdir -p /data/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "graph":"/data/docker",
    "registry-mirrors": ["https://reg-mirror.qiniu.com/","https://hub-mirror.c.163.com/"],
    "log-opts": {
        "max-size": "100m",
        "max-file": "20"
     }
    }
    EOF
    
  • 启动docker

    #启动docker
    systemctl start docker
    #设置开机启动
    systemctl enable docker
    #重启docker
    systemctl restart docker
    
  • 查看docker

    docker version
    

Docker离线安装

  • 下载docker离线部署包

    根据自己服务器的架构下载指定版本版本的docker部署包。https://download.docker.com/linux/static/stable/

  • 上传部署包到服务器

    上传部署包到服务器指定目录,例如:/data目录

  • 创建docker.service文件

    在部署包同目录/data创建docker.service文件并写入以下内容。

    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
    
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    # restart the docker process if it exits prematurely
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
    
    [Install]
    WantedBy=multi-user.target
    
  • 创建Docker安装脚本

    在部署包同目录/data创建install.sh脚本文件并写入以下内容。

    请将脚本中的"graph" 对应的/data/docker目录替换成你希望Docker的根目录,并创建好目录(不要在系统盘)。

    #!/bin/sh
    echo '解压tar包...'
    tar -xvf $1
    
    echo '将docker目录移到/usr/bin目录下...'
    cp docker/* /usr/bin/
    
    echo '将docker.service 移到/etc/systemd/system/ 目录...'
    cp docker.service /etc/systemd/system/
    
    echo '添加文件权限...'
    chmod +x /etc/systemd/system/docker.service
    
    echo '重新加载配置文件...'
    systemctl daemon-reload
    
    echo '创建daemon.json目录...'
    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
    "graph":"/data/docker",
    "registry-mirrors": ["https://reg-mirror.qiniu.com/","https://hub-mirror.c.163.com/"],
    "log-opts": {
        "max-size": "100m",
        "max-file": "20"
     }
    }
    EOF
    
    echo '设置开机自启...'
    systemctl enable docker.service
    
    echo '启动docker...'
    systemctl start docker
    
    echo 'docker安装成功...'
    docker -v
    
  • 安装Docker

    • 此时/data目录有以下三个文件。

      #安装包 X.X.X为实力安装包版本
      docker-X.X.X.tgz
      #docker配置文件
      docker.service
      #dokcer安装脚本
      install.sh
      
    • 执行安装脚本

      #docker-X.X.X.tgz 为实际安装包
      bash install.sh docker-X.X.X.tgz
      
  • 查看Docker

    docker version
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值