2024.7最新Docker安装教程(包含安装出现的问题以及拉取镜像超时)

一、安装Docker

1、卸载系统之前可能安装的 docker(非必须)
sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
2、安装Docker-CE 所需的环境
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 如果安装出现以下错误,可以参考下列步骤

  • sudo yum update
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=vag error was
    14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
    ​
    ​
     One of the configured repositories failed (Unknown),
     and yum doesn't have enough cached data to continue. At this point the only
     safe thing yum can do is fail. There are a few ways to work "fix" this:
    ​
         1. Contact the upstream for the repository and get them to fix the problem.
    ​
         2. Reconfigure the baseurl/etc. for the repository, to point to a working
            upstream. This is most often useful if you are using a newer
            distribution release than is supported by the repository (and the
            packages for the previous distribution release still work).
    ​
         3. Run the command with the repository temporarily disabled
                yum --disablerepo=<repoid> ...
    ​
         4. Disable the repository permanently, so yum won't use it by default. Yum
            will then just ignore the repository until you permanently enable it
            again or use --enablerepo for temporary usage:
    ​
                yum-config-manager --disable <repoid>
            or
                subscription-manager repos --disable=<repoid>
    ​
         5. Configure the failing repository to be skipped, if it is unavailable.
            Note that yum will try to contact the repo. when it runs most commands,
            so will have to try and fail each time (and thus. yum will be be much
            slower). If it is a very temporary problem though, this is often a nice
            compromise:
    ​
                yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
    ​
    Cannot find a valid baseurl for repo: base/7/x86_64
  • 2.1、备份当前的 YUM 仓库配置(可选,但推荐):

  • sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup
  • 2.2、编辑或创建一个新的仓库配置文件vi 编辑 /etc/yum.repos.d/CentOS-Base.repo 文件(如果文件不存在,则创建它)。

  • 2.3、添加一个新的镜像源: 在文件中添加以下内容,这里使用阿里云的镜像源作为示例:

  • [base]  
    name=CentOS-$releasever - Base  
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/  
    gpgcheck=1  
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7  
     
    #released updates  
    [updates]  
    name=CentOS-$releasever - Updates  
    baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/  
    gpgcheck=1  
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7  
     
    #additional packages that may be useful  
    [extras]  
    name=CentOS-$releasever - Extras  
    baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/  
    gpgcheck=1  
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7  
     
    #additional packages that extend functionality of existing packages  
    [centosplus]  
    name=CentOS-$releasever - Plus  
    baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/  
    gpgcheck=1  
    enabled=0  
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  • 2.4、清理 YUM 缓存

  • sudo yum clean all
  • 2.5、生成新的缓存

  • sudo yum makecache fast
3、添加Docker仓库

Docker的官方仓库可能速度较慢,推荐使用国内的镜像源,如阿里云。添加Docker仓库的命令如下:

  • sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新yum缓存并安装Docker CE
  • sudo yum makecache fast  
    sudo yum install -y docker-ce docker-ce-cli containerd.io
5、启动Docker服务并设置开机自启
  • sudo systemctl start docker  
    sudo systemctl enable docker
6、验证Docker安装
  • sudo docker --version 

二、解决拉取镜像超时

以MySQL镜像为例
# 拉取
docker pull mysql:8.0.30
​
# 超时
Error response from daemon: Get "https://registry-1.docker.io/v2/library/mysql/manifests/sha256:3c1aab708f6e57fc4dccafe36ba
​
# 创建目录
sudo mkdir -p /etc/docker
​
# 配置多个镜像地址解决
sudo tee /etc/docker/daemon.json <<-'EOF'
> {
>     "registry-mirrors": [
>         "https://do.nark.eu.org",
>         "https://dc.j8.work",
>         "https://docker.m.daocloud.io",
>         "https://dockerproxy.com",
>         "https://docker.mirrors.ustc.edu.cn",
>         "https://docker.nju.edu.cn"
>     ]
> }
> EOF
{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
​
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker

感谢及参考:

Centos7系统 Docker 安装和使用教程(超详细附带常用的容器部署代码)_centos7 docker-CSDN博客

从Docker Hub 拉取镜像一直失败超时?这些解决方案帮你解决烦恼_docker拉取镜像超时-CSDN博客

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值