Docker初识及使用研究

公司使用docker,小组成员人人都是默默使用,也没讲解培训,真是搞笑。
记录自己独自研究及使用:
1)自己安装->失败-系统弄崩->安装成功

目录

  • 1. Docker安装-初次安装失败
  • 2. Docker安装-初次安装成功

1. Docker安装-初次安装失败

需要使用梯子访问docker官网:Install Docker Engine on Ubuntu

此处有个疑惑:Docker Engine 与Docker、DockerDesktop关系?

该页面“Install Docker Engine on Ubuntu”下,“Installation methods”描述道:
You can install Docker Engine in different ways, depending on your needs(可以根据需要以不同的方式安装Docker Engine)
1)Docker Engine comes bundled with Docker Desktop for Linux. This is the easiest and quickest way to get started.
Docker引擎捆绑了 Linux的Docker桌面。这是 最简单快捷的入门方式
2)Set up and install Docker Engine from Docker’s apt repository.
设置和安装Docker引擎 Docker的apt存储库。
3)Install it manually and manage upgrades manually.
手动安装它并手动管理升级。
4)Use a convenience script. Only recommended for testing and development environments.
使用一个 方便脚本。只有 推荐用于测试和开发环境。

按照上述说明,安装Docker Desktop是最简洁的方式,但是下载Docker Desktop.deb后安装失败,提示如下:
sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb

The following packages have unmet dependencies:
docker-desktop : Depends: docker-ce-cli but it is not installable
E: Unable to correct problems, you have held broken packages.

官网文档,
在这里插入图片描述
我本来以为是ubuntu20的版本不对,但是也没找到适配ubuntu20的版本,此处有些疑惑?

搜索问题Unable to install Docker Desktop on Ubuntu 22.04

Docker Desktop has a dependency on the docker CLI, which requires the download.docker.com package repository to be set up before installing the docker-desktop package; from the error message, I suspect you didn’t set up that repository (see “step 1” in the instructions; https://docs.docker.com/desktop/install/ubuntu/#install-docker-desktop
(Docker Desktop依赖于docker CLI,这需要在安装docker-桌面包之前设置download.docker.com包存储库;从错误消息来看,我怀疑您没有设置该存储库(请参阅说明中的“步骤1”;https://docs.docker.com/desktop/install/ubuntu/#install-docker-desktop)

结合文档:在 Ubuntu 上安装 Docker 桌面

遂在Docker文档Desktop下载页面中Install Docker Desktop on Ubuntu

Install Docker Desktop
Recommended approach to install Docker Desktop on Ubuntu:
1.Set up Docker’s package repository. See step one of Install using the apt repository.
2.Download latest DEB package.
3.Install the package with apt as follows:
sudo apt-get update
sudo apt-get install ./docker-desktop-<arch>.deb

要首先安装Docker’s package repository,不知道与Docker什么关系,有什么用。

Install using the apt repository
Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository.
1.Set up Docker’s apt repository.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 这是个什么命令?
sudo apt-get update

2.Install the Docker packages.
Latest:

To install the latest version, run:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Specific version:

To install a specific version of Docker Engine, start by listing the available versions in the repository:
# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'5:27.0.3-1~ubuntu.24.04~noble
5:27.0.2-1~ubuntu.24.04~noble
...
Select the desired version and install:
VERSION_STRING=5:27.0.3-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

3.Verify that the Docker Engine installation is successful by running the hello-world image.

sudo docker run hello-world

This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits.

需要 使用sudo运行Docker命令

问题:
命令sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc 卡住?!!
解决办法:在Ubuntu中安装Docker,添加Docker官方GPG key失败,解决方案
(1)先把官方GPG key下载到本地,下载下来是一个gpg文件
(2)下载到本地后,采用如下命令,安装官方GPG key:

sudo apt-key add ./gpg

Linux apt-key机制后续需要研究

使用了本地sudo apt-key add ./gpg gpg命令后Add the repository to Apt sources添加docker库命令觉得应该修改,但我不知道怎么修改

我是用的下载下来的Desktop.deb文件

20240710使用中科大源能用官方命令gpg运行成功

=======================================
更新于20240715

2. Docker安装-初次安装成功

经过上述失败尝试,在网友指点下,安装成功,遂总结归纳记录。

step1:Docker官方网站找到安装步骤

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

此处建议:别用deb安装,使用上述apt安装,需挂梯子

step2:解决网络问题,具体如下:
运行clash,终端export Https=127.0.0.1:7890

在“sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc”这一步骤:
此处注意:export不会对sudo生效,
先sudo -i 进入root环境再export

apt安装中需要走docker源,安装过程中代理不能断,除非手动换源

“echo
“deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu
KaTeX parse error: Expected 'EOF', got '&' at position 20: …etc/os-release &̲& echo "VERSION_CODENAME”) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null”

这个命令之后update会在/etc/apt/sources.list.d/docker.list更换里面的源

#deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu   focal stable
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu   focal stable

curl吃环境变量,apt不吃环境变量,有的软件不吃环境变量,最简单的方法是用proxychains
可使用apt安装一下。

到此update即成功完成!

helloword验证环境失败:
主要原因是dockerhub被墙,需科学上网。

proxychains配置:sudo vi /etc/proxychains.conf
64行,4改5,端口7891或7890

#socks4 	127.0.0.1 9050
socks5 	127.0.0.1 7890

proxychains docker pull helloword 但是失败

在这里插入图片描述
参考连接:奇技淫巧系列 配置代理解决docker pull命令无法拉取镜像的问题

暂时还未研究,待续。

垃圾docker,作为一个软件,新手安装门槛这么高,还把系统弄崩溃了~~

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

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

相关文章

微信小程序密码 显示隐藏 真机兼容问题

之前使用type来控制&#xff0c;发现不行&#xff0c;修改为password属性即可 <van-fieldright-icon"{{passwordType password? closed-eye:eye-o}}"model:value"{{ password }}"password"{{passwordType password ? true: false}}"borde…

PostgreSQL 中如何解决因长事务阻塞导致的其他事务等待问题?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何解决因长事务阻塞导致的其他事务等待问题&#xff1f;一、了解长事务阻塞的原因&…

结合实体类型信息(2)——基于本体的知识图谱补全深度学习方法

1 引言 1.1 问题 目前KGC和KGE提案的两个主要缺点是:(1)它们没有利用本体信息;(二)对训练时未见的事实和新鲜事物不能预测的。 1.2 解决方案 一种新的知识图嵌入初始化方法。 1.3 结合的信息 知识库中的实体向量表示&#xff0b;编码后的本体信息——>增强 KGC 2基…

思迈特软件2023H2商业智能和分析软件市场份额增长速度跃居第一

近日&#xff0c;全球知名的IT市场研究与咨询公司IDC发布了《中国商业智能和分析软件市场跟踪报告&#xff0c;2023H2》。根据报告显示&#xff0c;思迈特软件在中国商业智能和分析软件市场份额中位列前五&#xff0c;在中国BI厂商中排名TOP2。 尤其值得一提的是&#xff0c;思…

【数据结构】Splay详解

Splay 引入 Splay旋转操作splay操作插入操作查询x排名查询排名为x删除操作查询前驱/后继模板Splay时间复杂度分析 进阶操作截取区间区间加&#xff0c;区间赋值&#xff0c;区间查询&#xff0c;区间最值区间翻转原序列整体插入指定位置插入整体插入末尾区间最大子段和 一些好题…

C++客户端Qt开发——常用控件(按钮类控件)

2.按钮类控件 ①QPushButton 按钮 继承自QAbstractButton&#xff0c;这个类是⼀个抽象类&#xff0c;是其他按钮的父类 属性 说明 text 按钮中的文本 icon 按钮中的图标 iconSize 按钮中图标的尺寸 shortCut 按钮对应的快捷键 autoRepeat 按钮是否会触发&#xff…

AMD software 将两个显示器合并为一个超宽显示器

最近玩游戏的时候&#xff0c;发现了一个骚操作。 可以将两个显示器&#xff08;更多个的自己去试&#xff0c;不知道&#xff09;组合为一个显示器&#xff0c;注意&#xff0c;这里说的不是将两个显示都连接电脑从而使用双屏显示器&#xff0c; 而是 将两个显示器组合为一个…

基于R语言的水文、水环境模型优化技术及快速率定方法与多模型案例

在水利、环境、生态、机械以及航天等领域中&#xff0c;数学模型已经成为一种常用的技术手段。同时&#xff0c;为了提高模型的性能&#xff0c;减小模型误用带来的风险&#xff1b;模型的优化技术也被广泛用于模型的使用过程。模型参数的快速优化技术不但涉及到优化本身而且涉…

微信小游戏 彩色试管 倒水游戏 逻辑 (二)

最近开始研究微信小游戏&#xff0c;有兴趣的 可以关注一下 公众号&#xff0c; 记录一些心路历程和源代码。 定义一个 Water class 1. **定义接口和枚举**&#xff1a; - WaterInfo 接口定义了水的颜色、高度等信息。 - PourAction 枚举定义了水的倒动状态&#xff0c;…

C双指针元素去重

需求 在尾部插⼊、删除元素是⽐较⾼效的&#xff0c;时间复杂度 是 O(1)&#xff0c;但是如果在中间或者开头插⼊、删除元素&#xff0c;就会涉及数据的搬移&#xff0c;时间复杂度为 O(N)&#xff0c;效率较低。 代码 #include <stdio.h>// 相邻元素去重 int remove…

01 电场强度通量 高斯定理

电场强度通量 高斯定理 5-4 电场强度通量 高斯定理一.电场线二.电场强度通量三.高斯定理四高斯定理应用举例典型电场的电场线分布图形正点电荷与负点电荷的电场线一对等量正点电荷的电场线一对等量异号点电荷的电场线一对不等量异号点电荷的电场线带电平行板电容器的电场线 5-4…

CompletableFuture介绍与实战

CompletableFuture 介绍与实战 一、前言 ​ 日常工作中&#xff0c;大多数情况下我们的接口的执行逻辑都是串行化的&#xff0c;串行化的逻辑也基本能满足我们绝大部分的场景。但是&#xff0c;在一些情况下我们的代码可能会存在一些比较耗时的操作&#xff0c;串行的逻辑就有…

金蝶云星空与金蝶云星空对接集成付款单查询打通[标准][付款单新增]-v1

金蝶云星空与金蝶云星空对接集成付款单查询打通[标准][付款单新增]-v1 对接源平台:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上&#xff0c;提供了标准的管理模式&#xff1b;通过标准的业务架构&#xff1a;多会计准则、多币别、多地点、多组织、多税制应用…

Gstreamer学习3.1------使用appsrc灌颜色信号数据

这个视频内容讲解的离散余弦变换&#xff0c;讲的很好&#xff0c; 离散余弦变换可视化讲解_哔哩哔哩_bilibili 其中讲到&#xff0c;把颜色变化转换为曲线的处理&#xff0c; 在前面的学习中&#xff0c;我们知道了可以向appsrc来灌数据来进行显示 Gstreamer学习3----灌数据…

yolo格式数据集之野生动物类4种数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用

本数据为野生动物类检测数据集&#xff0c;数据集数量如下&#xff1a; 总共有:1504张 训练集&#xff1a;1203张 验证集&#xff1a;150张 类别数量&#xff1a;4 测试集&#xff1a;151 类别名&#xff1a; [‘buffalo’, ‘elephant’, ‘rhino’, ‘zebra’] 占用空间&…

自动驾驶-端到端分割任务

上采样 bed of nails interpolation transposed convolutions 1. 上采样 (Upsampling) 上采样是一种技术&#xff0c;用于增加数据集中的样本数量或是提高信号的分辨率。在图像处理中&#xff0c;上采样通常指的是增加图像的像素数量&#xff0c;从而使图像变得更大。这可…

如何用STM32实现modbus-RTU?

Modbus RTU是一种广泛应用于工业自动化领域的通信协议,基于主从架构,通过串行通信进行数据传输。本文将详细介绍Modbus RTU协议的基本原理,并提供在STM32微控制器上实现Modbus RTU通信的完整代码示例。 1. Modbus RTU协议概述 Modbus RTU的定义和特点 Modbus RTU(Remote Te…

哥德巴赫猜想c++

方法一 #include<bits/stdc.h> using namespace std; //定义函数&#xff0c;判断素数 bool sushu(int n){bool rtrue;//先假设是素数&#xff0c;即真//循环因子范围&#xff0c;找到一个因子就不是素数for(int i2;i<sqrt(n);i){//判断2~n的根号是否素数if(n%i0){//…

【Linux】从零开始认识多线程 --- 线程控制

在这个浮躁的时代 只有自律的人才能脱颖而出 -- 《觉醒年代》 从零开始认识多线程 --- 线程控制 1 知识回顾2 线程控制2.1 线程创建2.2 线程等待2.3 线程终止 3 测试运行3.1 小试牛刀 --- 创建线程3.2 探幽析微 --- 理解线程参数3.3 小有心得 --- 探索线程返回3.4 求索无厌 …

数据结构_顺序表专题

何为数据结构&#xff1f; 咱今天也来说道说道...... 数据结构介绍 准确概念 数据结构就是计算机存储、组织数据的方式 概念分析 从上句分析&#xff0c;数据结构是一种方式。一种管理数据的方式。为了做什么&#xff1f;为的就是计算机存储数据&#xff0c;组织数据。 …