Ubuntu22.04 Docker 国内安装最靠谱教程

目前docker在国内安装常存在众所周知的网络问题,如果安装过程如果从官网地址安装以及安装之后从官网要拉取镜像都存在问题。这篇文章主要针对这两个问题总结最靠谱的docker安装教程。

1. docker安装

1.1 系统环境概述

  • Ubuntu 22.04
  • linux内核版本 6.8(版本不低于3.10)

1.2更新ubuntu

$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade

1.3 添加docker库

1.3.1 安装docker的必要依赖

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

1.3.2 添加docker GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

这里选择从阿里云上docker密钥添加,官方密钥存在网络问题,添加命令会不成功,成果了之后也下载不了docker。 这里会将密钥写入ubuntu密钥环中(/etc/apt/trusted.list)

1.3.2 添加docker仓库

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

这里也是选择阿里的镜像源。

1.3.3 更新apt

sudo apt update

1.3.3 安装docker

 sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

这个命令一共安装了4个软件包:

Docker CE:Docker的社区版,是一个开源的容器化平台,允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。

Docker CE CLI:Docker容器平台的命令行界面,用于与Docker守护进程交互和管理容器。

container.io :负责启动和运行容器,管理容器的生命周期,包括下载容器镜像、创建和销毁容器等。它提供了一个稳定和安全的运行时环境。

Docker Compose Plugin:Docker Compose的命令行工具,Docker Compose是一个工具,用于定义和运行多容器Docker应用程序。

1.3.4 配置用户组

docker的运行一般都要用root用户来运行,配置用户组可以让当前用户直接使用docker

sudo usermod -aG docker $USER
sudo reboot

1.3.5 验证docker

重启ubuntu系统之后,首先验证docker服务是否正在运行,如未运行尝试开启,然后尝试拉取镜像。

#y验证docker服务状态
$ systemctl status docker.service
$ systemctl statue docker.socket
#如果显示都在runing 则直接拉去容器;否则请采用下面命令开启服务。
$ systemctl start docker.service
$ systemctl start docker.socket
#查看docker版本
sudo docker version
#拉取docker容器
docker run hello-world

这里最后拉去镜像大概率会出错,因为从官网上拉取存在网络问题。

2. docker镜像拉取配置

目前docker很多镜像站都失效了(包括阿里的镜像站),截止目前华为云的镜像站还可以使用:

进入华为云搜索“容器镜像服务”或者 "SWR" ,进入控制台

点击 “镜像资源”---> “镜像中心”---> "镜像加速器"

修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:

#使用vim打卡daemon.json文件
sudo vim /etc/docker/daemon.json
​#向文件中添加如下内容
{"registry-mirrors": [ "https://你的地址.mirror.swr.myhuaweicloud.com" ]
}
​按“Esc”,输入:wq保存并退出。

如何镜像站也不可用了,可以参考这篇文章自己搭建一个地址。

在完成文件修改之后要重启,docker服务使得的配置生效。但是这里注意直接resart docker可能配置不会生效(不知道原因)

#直接restart
$ sudo systemctl daemon-reload 
$ service docker restart#可以代替的方法
$ sudo systemctl daemon-reload
$ sudo systemctl stop docker.service
$ sudo systemctl stop docker.socket
$ sudo systemctl start docker.service
$ sudo systemctl start docker.socket#查看docker配置信息
docker info 

最后docker info之后出现registry-mirrors参数就是配置正常了。

3. docker基本使用

对于docker的使用教程可以查看这篇文章地址

4. 参考资料

国内无法拉取Docker镜像了?这些方法拯救你的Docker-腾讯云开发者社区-腾讯云icon-default.png?t=O83Ahttps://cloud.tencent.com/developer/article/2434428

如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose | Linux 中国 - 知乎icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/547169542

Ubuntu 22.04安装Docker(最全教程,无需科学上网)_ubuntu22.04安装docker-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_44355653/article/details/140267707#:~:text=%E6%9C%AC%E6%96%87%E4%BB%8B%E7%BB%8D%E4%BA%86ubunt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SysML案例-呼吸机

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 图片示例摘自intercax.com,作者是Intercax公司总裁Dirk Zwemer博士。

HTTPS协议详解:从原理到流程,全面解析安全传输的奥秘

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

基于SPI协议的Flash扇区擦除实验

当一块Flash芯片中的不同的扇区烧录了不同的程序,而我们只想擦除某个扇区的程序保留其他程序时,Flash的全擦除是不能满足要求的,这时候就需要扇区擦除来实现这一功能。扇区擦除可以对Flash芯片中的某一扇区进行擦除而不改变其他扇区中的存储数…

No.4 笔记 | 探索网络安全:揭开Web世界的隐秘防线

在这个数字时代,网络安全无处不在。了解Web安全的基本知识,不仅能保护我们自己,也能帮助我们在技术上更进一步。让我们一起深入探索Web安全的世界,掌握那些必备的安全知识! 1. 客户端与WEB应用安全 前端漏洞&#xff1…

MySQL 启动失败 (code=exited, status=1/FAILURE) 异常解决方案

目录 前言1. 问题描述2. 查看错误日志文件2.1 确认日志文件路径2.2 查看日志文件内容 3. 定位问题3.1 问题分析 4. 解决问题4.1 注释掉错误配置4.2 重启 MySQL 服务 5. 总结结语 前言 在日常运维和开发过程中,MySQL数据库的稳定运行至关重要。然而,MySQ…

JavaScript中的高阶函数

高阶函数 所谓高阶函数,就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数: 来看一个mapper()函数,将一个数组映射到另一个使用这个函数的数组上: 更常见的例子,它接收两个函…

一个月学会Java 第2天 认识类与对象

Day2 认识类与对象 第一章 初识类 经过一个程序的编写,应该对程序的结构有点好奇了吧,如果你有基础,接下来的肯定非常的易懂,如果你没有基础也没有关系,反复琢磨一下也就懂了😆 我们来重复一下第一个程序 …

【LLM】Agent在智能客服的实践(AI agent、记忆、快捷回复 | ReAct)

note 内容概况:结合京粉app学习agent的实践 Agent架构:通过模型训练提升LLM识别工具的准确性;设计可扩展并安全可控的agent架构扩展业务能力。记忆:多轮对话应用中如何组织、存储和检索记忆来提升大模型对用户的理解。快捷回复&…

【微服务】服务注册与发现、分布式配置管理 - Nacos

概述 Nacos是阿里巴巴旗下的一个开源产品,目前市场使用率还是比较高的。在最初开源时,Nacos选择内部三个产品合并并统一开源,这三个产品分别是:非持久化注册中心(Configserver)、持久化注册中心&#xff0…

vue2接入高德地图实现折线绘制、起始点标记和轨迹打点的完整功能(提供Gitee源码)

目录 一、申请密钥 二、安装element-ui 三、安装高德地图依赖 四、完整代码 五、运行截图 六、官方文档 七、Gitee源码 一、申请密钥 登录高德开放平台,点击我的应用,先添加新应用,然后再添加Key。 ​ 如图所示填写对应的信息&…

网络基础 【HTTP】

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux初窥门径⏪   🚚代码仓库:Linux代码练习🚚 💻操作环境: CentOS 7.6 华为云远程服务器 🌹关注我🫵带你学习更多Linux知识…

模拟算法(5)_数青蛙

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 模拟算法(5)_数青蛙 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 题目链接…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-1

文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么&#xff…

空域中低通滤波器和高通滤波器的互补关系——Unsharp masking的理论基础

空域中从一个单位冲激中减去一个低通核产生一个高通核。 对应地,频域中数字滤波器低通转高通可以通过1-低通高通实现。模拟滤波器不行。 从原始图像减去模糊图像称为Unsharp masking。这是Unsharp masking的理论基础。锐化的程度由这个正比例系数控制。

计算机网络(十) —— IP协议详解,理解运营商和全球网络

目录 一,关于IP 1.1 什么是IP协议 1.2 前置认识 二,IP报头字段详解 三,网段划分 3.1 IP地址的构成 3.2 网段划分 3.3 子网划分 3.4 IP地址不足问题 四,公网IP和私有IP 五,理解运营商和全球网络 六&#xff…

Linux 进程状态、僵尸进程与孤儿进程

目录 0.前言 1. 进程状态 1.1 定义 1.2 常见进程 2.僵尸进程 2.1 定义 2.2 示例 2.3 僵尸进程的危害与防止方法 3. 孤儿进程 3.1 介绍 3.2 示例 4.小结 (图像由AI生成) 0.前言 在上一篇文章中,我们介绍了进程的基本概念、进程控制块&#…

C语言自定义类型联合和枚举(25)

文章目录 前言一、联合体联合体的声明联合体的特点联合体和结构体内存布局对比联合体的大小计算联合体的实际使用样例礼品兑换单判断当前机器是大端还是小端 二、枚举枚举的定义枚举类型的声明枚举类型的优点枚举类型的使用 总结 前言 关于自定义类型除了我们常用的结构体&…

Python机器视觉:01- 利用列表和切片操作 - 做一个弧线和图片相交的mask区域

前言: Python的列表处理,在机器视觉中经常被用到,这里结合基本的概念机器视觉实践案例,成文如下: 本身将实现一个,弧线的mask填充:这个mask是我的一个天文项目的应用,目的在于将月…

实现Xshell与虚拟机中Linux服务器的连接(附常见错误解决)

前言 Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 本文将介绍Xshell与虚拟机中Linux服务器连接…

Web APIs——Dom获取属性操作

1.变量声明 1.1以后声明变量我们优先使用哪个? const 有了变量先给const,如果发现它后面是要被修改的,再改为let 1.2 为什么const声明的对象可以修改里面的属性? 因为对象是引用类型,里面存储的是地址&#x…