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.xdnf.cn/news/1555761.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

重学SpringBoot3-集成Redis(四)之Redisson

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(四)之Redisson 1. 添加 Redisson 依赖2. 配置 Redisson 客户端3. 使用 Redisson 实现分布式锁4. 调用分布式锁5. 为什…

二进制的神奇操作——拆位法和贡献思想

拆位的引入 我们来思考这么一个问题,如果给你一个数组,让你去求一个数组里面所有连续子串的异或和的和,问你该怎么求? 我们该如何去处理,首先肯定是会想到暴力的思路,第一层循环遍历左端点,第…

SpringBoot在线教育平台:设计与实现的深度解析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

654、最大二叉树

1、题目描述 . - 力扣(LeetCode) 其实就是给定了一个所谓"最大二叉树"的规则,让我们去构建二叉树。 以 nums [3,2,1,6,0,5] 为例,规则如下: (1)找出其中的最大值6将其作为根节点,6前面的是左子…

程序传入单片机的过程,以Avrdude为例分析

在市场上有各式各样的单片机,例如Arduino,51单片机,STM等。通常,我们都用其对应的IDE软件进行单片机的编程。这些软件既负责将程序代码转写成二进制代码,即机器语言,也负责将该二进制代码导入单片机。与此同…

C++ 算法学习——7.4.1 优化算法——双指针

双指针法(Two Pointers)是一种常用的算法技巧,通常用于解决数组或链表中的问题。这种技巧通过维护两个指针,通常分别指向数组或链表的不同位置,来协同解决问题。双指针法一般有两种类型:快慢指针和左右指针…

什么是transformer大模型,答案就在这里

Transformer大模型是一种在自然语言处理(NLP)领域中广泛使用的模型,其详细数据与分析可以从以下几个方面进行阐述: 1. 模型架构 Transformer模型本质上是一个Encoder-Decoder架构。编码组件由多层编码器(Encoder&…

(笔记)第三期书生·浦语大模型实战营(十一卷王场)–书生基础岛第3关---浦语提示词工程实践

学员闯关手册:https://aicarrier.feishu.cn/wiki/ZcgkwqteZi9s4ZkYr0Gcayg1n1g?open_in_browsertrue 课程视频:https://www.bilibili.com/video/BV1cU411S7iV/ 课程文档: https://github.com/InternLM/Tutorial/tree/camp3/docs/L1/Prompt 关…

还在“卷”长度?长文本模型真的基于上下文进行回复吗?

近年来,随着长文本模型(Long-context Model, LCM)技术的突飞猛进,处理长上下文的能力已成为各大语言模型(Large Language Model, LLM)的核心竞争力,也是各大技术厂商争夺的焦点。截至2023年12月…

RAG再总结之如何使大模型更好使用外部数据:四个不同层级及查询-文档对齐策略

我们来看看RAG进展。《Retrieval Augmented Generation (RAG) and Beyond: A Comprehensive Survey on How to Make your LLMs use External Data More Wisely》(https://arxiv.org/abs/2409.14924),主要讨论了如何使大型语言模型(LLMs)更明智…

Redis中BitMap实现签到与统计连续签到功能

服务层代码 //签到Overridepublic Result sign() {//1.获取当前登录的用户Long userId UserHolder.getUser().getId();//获取日期LocalDateTime now LocalDateTime.now();//拼接keyString keySuffix now.format(DateTimeFormatter.ofPattern(":yyyyMM"));String …

实例分割、语义分割和 SAM(Segment Anything Model)

实例分割、语义分割和 SAM(Segment Anything Model) 都是图像处理中的重要技术,它们的目标是通过分割图像中的不同对象或区域来帮助识别和分析图像,但它们的工作方式和适用场景各有不同。 1. 语义分割(Semantic Segme…

一款基于 Java 的可视化 HTTP API 接口快速开发框架,干掉 CRUD,效率爆炸(带私活源码)

平常我们经常需要编写 API,但其实常常只是一些简单的增删改查,写这些代码非常枯燥无趣。 今天给大家带来的是一款基于 Java 的可视化 HTTP API 接口快速开发框架,通过 UI 界面编写接口,无需定义 Controller、Service、Dao 等 Jav…

Bolt.new:终极自动化编程工具

兄弟们,终极写代码工具来了—— Bolt.new!全方位的编程支持: StackBlitz 推出了 Bolt․new,这是一款结合了 AI 与 WebContainers 技术的强大开发平台,允许用户快速搭建并开发各种类型的全栈应用。 它的主要特点是无需…

内网靶场 | 渗透攻击红队内网域渗透靶场-1(Metasploit)零基础入门到精通,收藏这一篇就够了

“ 和昨天的文章同一套靶场,这次主要使用的是Kali Linux以及Metasploit来打靶场,熟悉一下MSF在内网渗透中的使用,仅供学习参考,大佬勿喷。本期文章靶场来自公众号:渗透攻击红队。” 靶场下载地址:https://…

展锐平台WIFI国家码信道总结

展锐平台WIFI国家码信道总结 1.下载wireless-regdb wireless-regdb是一个开源的工程,编译它会生成regulatory.bin文件,这实际上是一个加密后的数据库,它记录各个国家可用的无线频段。 可从下面的网站上下载最新的regdb库: https://git.kernel.org/pub/scm/linux/kernel…

【无人水面艇路径跟随控制2】(C++)USV代码阅读: SetOfLos 类的从路径点和里程计信息中计算期望航向

【无人水面艇路径跟随控制2】(C)USV代码阅读: SetOfLos 类的从路径点和里程计信息中计算期望航向 写在最前面set_of_los.cpp小结详细解释头文件包含命名空间构造函数和析构函数设置参数函数获取航向函数 🌈你好呀!我是…

热门:AI变现,看看谁在默默赚大钱?

在这个愈发依赖AI的时代,找到属于自己的盈利方式愈发重要。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 总的来说,利用AI进行盈利的方式主要有三种:技术型、流量型和内容型。 每种方式都根植于AI的特性,但同时也需要特定…

重庆数字孪生工业互联网可视化技术,赋能新型工业化智能制造工厂

重庆作为西南地区的重要工业基地,正积极探索和实践数字孪生、工业互联网及可视化技术在智能制造领域的深度融合,致力于打造新型工业化智能制造工厂,为制造业的高质量发展注入强劲动力。 在重庆的智能制造工厂中,数字孪生技术被广…

Pytorch基础:网络层

文章目录 1.卷积层-Convolution Layers1.1 1d/2d/3d卷积1.2卷积--nn.Conv2d1.3转置卷积(实现上采样) 2.池化层3.线性层—Linear Layer4.激活函数层—Activate Layer 1.卷积层-Convolution Layers 卷积运算:卷积运算在输入信号(图像)上滑动,相应位置上进行乘加. 卷积核:又称过滤…