Ubuntu配置阿里云docker apt源

一、配置阿里云docker apt源

Ubuntu 放弃了apt-key的GPG 密钥的管理方法,用户可以直接添加gpg密钥到/etc/apt/trusted.gpg.d/目录下。

同时添加删除apt source 直接在/etc/apt/sources.list.d/目录下操作即可。

1、删除旧的镜像源

bash 复制代码
#旧版操作方法
apt-key list # 列出许可证,在/trusted.gpg.d/中的是列不出来的
sudo apt-key del 0EBFCD88 # 根据编号删除gpg密钥
sudo rm /etc/apt/sources.list.d/docker.list #删除之前的源
sudo apt-get update # 更新apt 目录index

#新版方法
ls /etc/apt/trusted.gpg.d/
sudo rm /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg
sudo rm /etc/apt/sources.list.d/docker.list
sudo apt-get update

2、添加阿里云docker apt源

bash 复制代码
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

#将 GPG 密钥存储在 /usr/share/keyrings/ 目录下,而不是 /etc/apt/trusted.gpg.d/ 目录下,这是因为新的推荐方法是使用 signed-by 选项将特定的密钥与特定的存储库关联起来。这种方法比将所有密钥存储在 /etc/apt/trusted.gpg.d/ 目录下更安全,因为它减少了一个密钥对多个存储库的信任范围。
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

ansible-playbook方式实现

yaml 复制代码
        # 任务2:添加 Docker 的 GPG 密钥
        # state: present # apt 模块会检查指定的软件包是否已经安装,如果尚未安装,则会安装它,如果已经安装,则>不会进行任何操作
        - name: Add Docker GPG key
          apt_key:
            url: https://download.docker.com/linux/ubuntu/gpg
            state: present

        # 任务3:添加 Docker 软件包源
        - name: Add Docker repository
          apt_repository:
            repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
            state: present
yaml 复制代码
---
- name: Setup Docker and Kubernetes Repositories from Aliyun
  hosts: localhost
  become: yes

  tasks:
    - name: Add Docker GPG key from Aliyun
      ansible.builtin.get_url:
        url: https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg
        dest: /usr/share/keyrings/docker-archive-keyring.gpg

    - name: Add Docker repository from Aliyun
      ansible.builtin.apt_repository:
        repo: "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu {{ ansible_distribution_release }} stable"
        state: present
        filename: docker

    - name: Add Kubernetes GPG key from Aliyun
      ansible.builtin.get_url:
        url: https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg
        dest: /usr/share/keyrings/kubernetes-archive-keyring.gpg

    - name: Add Kubernetes repository from Aliyun
      ansible.builtin.apt_repository:
        repo: "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
        state: present
        filename: kubernetes

    - name: Update apt cache
      ansible.builtin.apt:
        update_cache: yes
相关推荐
Cyan_RA91 分钟前
Linux 远程Ubuntu服务器扩展硬盘后,将/home目录移动到新的硬盘空间上(把新硬盘的分区挂载到/home目录) 教程
linux·运维·ubuntu
liangshanbo12151 小时前
React + TypeScript 企业级编码规范指南
ubuntu·react.js·typescript
云布道师1 小时前
阿里云 OSS MetaQuery 全面升级——新增内容和语义的检索能力,助力 AI 应用快速落地
人工智能·阿里云·云计算
TG_yunshuguoji1 小时前
阿里云国际代理:阿里云备份如何保障数据安全?
运维·阿里云·云计算
java_logo2 小时前
Docker 部署 MinIO 全指南
运维·windows·mongodb·docker·容器
我狸才不是赔钱货2 小时前
DevOps:打破开发与运维之间的高墙
运维·vscode·docker·devops
黄雄进3 小时前
Windows使用docker安装milvus的配置文件
windows·docker·milvus
油条不卖3 小时前
本地window10同步ubuntu上conda指定环境,并在C#项目中通过Python.NET调用自定义python接口
linux·ubuntu·conda
一勺菠萝丶4 小时前
在 macOS 上用 Docker 为 Java 后端 & 常见开发需求搭建完整服务(详尽教程)
java·macos·docker