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

server/2024/10/21 19:52:49/

目前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.ppmy.cn/server/127911.html

相关文章

高级java每日一道面试题-2024年10月3日-分布式篇-分布式系统中的容错策略都有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 分布式系统中的容错策略都有哪些? 我回答: 在分布式系统中,容错策略是确保系统可靠性和高可用性的关键。这些策略旨在处理各种类型的故障,包括硬件故障、软件错误、网络问题等。以下是一些常见的…

CUDA与TensorRT学习五:TensorRT API的基本使用

文章目录 一、MINISUT-model-build-infer二、build-model三、infer-model四、TensorRT-network-structure五、build-model-from-scratch六、build-trt-module七、custom-trt-module八、plugin-unit-test(pythoncpp) 一、MINISUT-model-build-infer 二、build-model 三、infer…

云计算Openstack Keystone

OpenStack Keystone是OpenStack平台中的一个核心组件,主要负责身份认证和授权管理服务。以下是关于OpenStack Keystone的详细介绍: 一、作用 身份认证:Keystone为OpenStack平台提供统一的身份认证服务,管理所有用户(…

微服务实战——SpringCache 整合 Redis

SpringCache 整合 Redis 1.配置 spring.cache.typeredis EnableCaching EnableFeignClients(basePackages "com.cwh.gulimall.product.feign") EnableDiscoveryClient SpringBootApplication public class GulimallProductApplication {public static void main(…

codetop标签动态规划大全C++讲解(三)!!动态规划刷穿地心!!学吐了家人们o(╥﹏╥)o

每天复习一篇,只有十题左右 1.买卖股票的最佳时机2.买卖股票的最佳时机含手续费3.买卖股票的最佳时机III4.买卖股票的最佳时机IV5.打家劫舍6.打家劫舍II7.不同路径8.不同路径II9.最小路径和10.三角形的最小路径和11.两个字符串的删除操作12.编辑距离13.一和零 1.买卖…

基于Hive和Hadoop的电商消费分析系统

本项目是一个基于大数据技术的电商消费分析系统,旨在为用户提供全面的电商消费信息和深入的消费行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 S…

使用Node.js的readline模块逐行读取并解析大文件

在Node.js环境中处理大文件是一个常见的需求,尤其是在处理日志文件、数据库导出、或任何形式的大规模文本数据时。由于Node.js是基于事件循环和非阻塞I/O的,它非常适合处理这类任务。然而,直接将整个文件内容加载到内存中可能会导致内存溢出&…

Leetcode—139. 单词拆分【中等】

2024每日刷题&#xff08;173&#xff09; Leetcode—139. 单词拆分 dp实现代码 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {int n s.size();unordered_set<string> ust(wordDict.begin(), wordDict.end());vector<b…