Docker安装方法+常见问题


一、安装

(方案1)国内 daocloud 一键安装命令【此方法已废弃】

  1. 安装
    使用国内 daocloud 一键安装命令

    curl -sSL https://get.daocloud.io/docker | sh
    
    1. 启动
    sudo systemctl start docker.service
    

    ps:由于是国内的一键安装脚本,所以国内镜像源也自动配置好了,拉取镜像的速度杠杠滴


(方案2)yum安装【此方法有时不行了】

  1. 安装命令

    sudo yum install docker-ce
    

    如果报如下错误 ↓(不报错的话说明安装成功了,不用往后走了)

    [root@node01 ~]# yum -y install docker-ce
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * epel: mirrors.bfsu.edu.cn
     * extras: mirrors.163.com
     * updates: mirrors.cqu.edu.cn
    没有可用软件包 docker-ce。
    错误:无须任何处理
    

    那么说明yum源中找不到docker,执行后续操作

  2. docker源添加到yum

    sudo yum-config-manager \
        --add-repo \
        https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
    
  3. 刷新缓存

    sudo yum makecache fast
    
  4. 再次执行安装命令

    sudo yum install docker-ce
    

    如果又报这个错了↓(不报错的话说明安装成功了,不用往后走了)

    Downloading packages:
    (1/10): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm                                                                                                                                            |  40 kB  00:00:00     
    docker-buildx-plugin-0.14.1-1. FAILED                                          
    https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm: [Errno 14] curl#35 - "TCP connection reset by peer"                          ]  0.0 B/s |    0 B  --:--:-- ETA 
    正在尝试其它镜像。
    warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-26.1.4-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY                                         ] 488 kB/s |  55 MB  00:02:04 ETA 
    docker-ce-26.1.4-1.el7.x86_64.rpm 的公钥尚未安装
    
    

    那就继续执行后续操作

  5. 安装一下对应系统版本的docker公钥(下面是centos7的,其他版本需要去网上找找)

    rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
    
  6. 再次执行安装命令

    sudo yum install docker-ce
    

(方案3)yum安装【用这个,前面两个方法由于历史原因多半是不行了】

  1. 安装命令

    sudo yum install docker-ce
    

    如果报如下错误 ↓

    [root@node01 ~]# yum -y install docker-ce
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * epel: mirrors.bfsu.edu.cn
     * extras: mirrors.163.com
     * updates: mirrors.cqu.edu.cn
    没有可用软件包 docker-ce。
    错误:无须任何处理
    

    那么说明yum源中找不到docker,执行后续操作

  2. 添加docker官方的源

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    如果上面代码执行报错找不到 yum-config-manager,就执行 sudo yum install dnf-plugins-core

  3. 修改成国内源

    # sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    sudo sed -i 's+https://download.docker.com+https://mirrors.ustc.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
  4. 将$releasever改成8,对应centos8的源

    sudo sed -i 's+$releasever+8+' /etc/yum.repos.d/docker-ce.repo
    
  5. 安装docker

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

二、配置

1.配置docker自启动

  1. 启动docker

    sudo systemctl start docker
    
  2. docker配置自启动

    systemctl enable docker.service
    

2.修改docker数据目录 + 换源

  1. 停止 Docker 服务

    sudo systemctl stop docker
    
  2. 备份当前的 Docker 数据存储目录 /var/lib/docker

    sudo mv /var/lib/docker /var/lib/docker.bak
    
  3. 创建新的 Docker 数据存储目录,例如 /home/data/docker

    sudo mkdir -p /home/data/docker
    
  4. 修改 Docker 配置文件

    sudo vim /etc/docker/daemon.json
    

    将以下内容复制粘贴到文件中,并将其中的/home/data/docker 替换为实际的数据存储路径
    注意千万不要有tab或者空格符号,也不要有注释,否则启动 docker 会报错

    {
    "data-root": "/home/data/docker",						
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]   # 这行别配了,国内镜像不能用了
    }
    

    ps:

  5. 保存关闭,启动docker

    sudo systemctl start docker
    
  6. 测试是否更改成功

    • 测试数据目录是否修改成功

      docker info | grep 'Docker Root Dir'
      

      在这里插入图片描述

    • 测试国内镜像换源是否修改成功
      使用docker命令下载hello-world镜像,如果速度飞快,说明换源成功

      sudo docker pull hello-world
      

      在这里插入图片描述


三、常见问题

* docker 报错 library initialization failed - unable to allocate file descriptor table - out of memory

  1. 查看服务位置
    systemctl status docker
  2. 修改服务
    vi /usr/lib/systemd/system/docker.service
  3. 在ExecStart命令后加上创建容器的默认ulimit配置,如下,设置容器启动时的ulimit为65535:65535
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --default-ulimit nofile=65535:65535
  4. 重启
    systemctl daemon-reload
    systemctl restart docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么都干的派森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
OSZAR »