当前位置: 首页 > news >正文

docker 在ubuntu系统安装,以及常用命令,配置阿里云镜像仓库,搭建本地仓库等

1.docker安装

1.1 先检查ubuntu系统有没有安装过docker 使用 docker -v 命令 如果有请先卸载旧版本,如果没有直接安装命令如下:

1.1.0 首先,确保你的系统包是最新的: 如果是root 权限下面命令的sudo可以去掉

sudo apt-get update
sudo apt-get upgrade

1.1.2. 安装必要的依赖
安装一些必要的依赖包,以便 apt 可以通过 HTTPS 使用仓库:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

1.1.3. 添加 Docker 的官方 GPG 密钥
下载并添加 Docker 的官方 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

1.1.4. 添加 Docker APT 仓库
将 Docker 的 APT 仓库添加到你的系统中。确保你使用的是正确的 Ubuntu 版本代号(例如 focal 对应 Ubuntu 20.04,jammy 对应 Ubuntu 22.04):

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

1.1.5. 更新 APT 包索引
更新 APT 包索引以包含新添加的 Docker 仓库:

sudo apt-get update

1.1.6. 安装 Docker
安装 Docker CE(社区版):

sudo apt-get install docker-ce docker-ce-cli containerd.io

1.1.7. 验证 Docker 安装
验证 Docker 是否安装成功并正在运行:

sudo systemctl status docker

你应该会看到类似以下的输出,表明 Docker 服务正在运行

● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since ...

1.1.8. 将当前用户添加到 docker 组
为了在不使用 sudo 的情况下运行 Docker 命令,将当前用户添加到 docker 组:

sudo usermod -aG docker ${USER}

注意:添加用户到 docker 组后,需要重新登录或重启系统才能使更改生效。

1.1.9. 测试 Docker
运行一个简单的 Docker 容器来测试安装是否成功:

docker run hello-world

如果一切正常,你应该会看到一条欢迎消息,表明 Docker 已经成功安装并运行。

1.1.10. 配置 Docker 镜像加速器(可选)
如果你在中国大陆,建议配置 Docker 镜像加速器以提高下载速度。编辑或创建 /etc/docker/daemon.json 文件,添加以下内容:

{"registry-mirrors": ["https://<your_mirror>.mirror.aliyuncs.com"]
}

替换 <your_mirror> 为你的阿里云镜像加速器地址。
保存文件后,重启 Docker 服务以使配置生效:

sudo systemctl restart docker

至此docker安装完成。

2.docker常用命令:
 

可以通过docker --help  查看docker 命令帮助systemctl restart docker 重启docker 服务systemctl stop docker  停止docker 服务systemctl start docker  开启docker 服务docker pull 镜像名称 拉取镜像,从本地拉取镜像,本地没有,从远程仓库拉取docker push 镜像名称 推送镜像到本地仓库docker cp  复制docker commit 提交一个新的副本使它成为一个新的镜像 命令如下docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[镜像版本号]docker 命令 --help 查询命令帮助docker images 查看镜像docker ps  查询正在运行的容器docker ps -a 查询所有容器docker ps -ap 查询所有容器 image的IDdocker restart 容器名称或容器id  重启容器docker stop 容器名称或容器id  停止容器docker run -d  容器名称或容器id  后台启容器docker run -d -p 宿主机端口号:容器端口号 -v 宿主机挂载的绝对目录:容器的数据存放目录 -e 环境变量 容器名称    代表的意思是: 后台启动某个镜像 端口映射,目录挂载到宿主机的目录上 docker exec -it 容器名称 bash 意思进入某个容器内,进行shell交互docker logs -f 容器名称 持续查看容器的输出日志

3.本地镜像发布到阿里云仓库

3.1首先登录阿里云创建仓库如下图所示

企业用就要使用企业实例

我这里使用个人实例

先创建命名空间如图

在创建镜像仓库如下图

选择本地仓库如下图

按照阿里云的脚本运行就可以了如图

到此推送到阿里云仓库以及完成

4.将本地镜像推送到私服仓库中因为有些镜像属于公司敏感服务,所以搭建自己的私服仓库

4.1 docker registry 是官方提供的工具,可以用于构建私有镜像仓库

4.2.拉取docker registry镜像  使用命令

docker pull registry

4.3 启动registry镜像

docker run -d -p 5000:5000 -v 宿主机的仓库目录使用绝对路径:容器存放镜像的目录使用绝对路径 --privileged=true registry

4.4 开始镜像推送工作

docker tag 镜像名称 47.98.233.56:5000/ubuntu:latest

4.5由于docker 不能推送 http协议需要配置如下

在配置阿里云的daemon.json 下面配置{"registry-mirrors":["阿里云的仓库地址"],"insecure-registries":["你私服的地址加你映射仓库的端口"]}

如图:

4.6.推送到私服仓库如图

4.7用命令验证仓库有没有推送成功

如下图说明推送成功

4.7从私服拉取镜像如图

到此结束

相关文章:

docker 在ubuntu系统安装,以及常用命令,配置阿里云镜像仓库,搭建本地仓库等

1.docker安装 1.1 先检查ubuntu系统有没有安装过docker 使用 docker -v 命令 如果有请先卸载旧版本&#xff0c;如果没有直接安装命令如下&#xff1a; 1.1.0 首先&#xff0c;确保你的系统包是最新的&#xff1a; 如果是root 权限下面命令的sudo可以去掉 sudo apt-get upda…...

torch.maximum函数介绍

torch.maximum 函数介绍 定义&#xff1a;torch.maximum(input, other) 返回两个张量的逐元素最大值。 输入参数&#xff1a; input: 张量&#xff0c;表示第一个输入。other: 张量或标量&#xff0c;表示第二个输入。若为张量&#xff0c;其形状需要能与 input 广播。输出&a…...

Java面试之多线程并发篇(9)

前言 本来想着给自己放松一下&#xff0c;刷刷博客&#xff0c;突然被几道面试题难倒&#xff01;引用类型有哪些&#xff1f;有什么区别&#xff1f;说说你对JMM内存模型的理解&#xff1f;为什么需要JMM&#xff1f;多线程有什么用&#xff1f;似乎有点模糊了&#xff0c;那…...

Java全栈:超市购物系统实现

项目介绍 本文将介绍如何使用Java全栈技术开发一个简单的超市购物系统。该系统包含以下主要功能: 商品管理用户管理购物车订单处理库存管理技术栈 后端 Spring Boot 2.7.0Spring SecurityMyBatis PlusMySQL 8.0Redis前端 Vue.js 3Element PlusAxiosVuex系统架构 整体架构 …...

1.1 数据结构的基本概念

1.1.1 基本概念和术语 一、数据、数据对象、数据元素和数据项的概念和关系 数据&#xff1a;是客观事物的符号表示&#xff0c;是所有能输入到计算机中并被计算机程序处理的符号的总称。 数据是计算机程序加工的原料。 数据对象&#xff1a;是具有相同性质的数据元素的集合&…...

深度学习:GPT-2的MindSpore实践

GPT-2简介 GPT-2是一个由OpenAI于2019年提出的自回归语言模型。与GPT-1相比&#xff0c;仍基于Transformer Decoder架构&#xff0c;但是做出了一定改进。 模型规格上&#xff1a; GPT-1有117M参数&#xff0c;为下游微调任务提供预训练模型。 GPT-2显著增加了模型规模&…...

【Oracle11g SQL详解】ORDER BY 子句的排序规则与应用

ORDER BY 子句的排序规则与应用 在 Oracle 11g 中&#xff0c;ORDER BY 子句用于对查询结果进行排序。通过使用 ORDER BY&#xff0c;可以使返回的数据按照指定的列或表达式以升序或降序排列&#xff0c;便于数据的分析和呈现。本文将详细讲解 ORDER BY 子句的规则及其常见应用…...

YOLO系列论文综述(从YOLOv1到YOLOv11)【第15篇(完结):讨论和未来展望】

总结 0 前言1 YOLO与人工通用智能&#xff08;AGI&#xff09;2 YOLO作为“能够行动的神经网络”3 具身人工智能&#xff08;EAI&#xff09;4 边缘设备上的YOLO5 评估统计指标的挑战6 YOLO与环境影响 YOLO系列博文&#xff1a; 【第1篇&#xff1a;概述物体检测算法发展史、YO…...

Java设计模式 —— 【创建型模式】原型模式(浅拷贝、深拷贝)详解

文章目录 前言原型模式一、浅拷贝1、案例2、引用数据类型 二、深拷贝1、重写clone()方法2、序列化 总结 前言 先看一下传统的对象克隆方式&#xff1a; 原型类&#xff1a; public class Student {private String name;public Student(String name) {this.name name;}publi…...

SciAssess——评估大语言模型在科学文献处理中关于模型的记忆、理解和分析能力的基准

概述 大规模语言模型&#xff08;如 Llama、Gemini 和 GPT-4&#xff09;的最新进展因其卓越的自然语言理解和生成能力而备受关注。对这些模型进行评估对于确定其局限性和潜力以及促进进一步的技术进步非常重要。为此&#xff0c;人们提出了一些特定的基准来评估大规模语言模型…...

SQLModel与FastAPI结合:构建用户增删改查接口

SQLModel简介 SQLModel是一个现代化的Python库&#xff0c;旨在简化与数据库的交互。它结合了Pydantic和SQLAlchemy的优势&#xff0c;使得定义数据模型、进行数据验证和与数据库交互变得更加直观和高效。SQLModel由FastAPI的创始人Sebastin Ramrez开发&#xff0c;专为与FastA…...

【RISC-V CPU debug 专栏 2.3 -- Run Control】

文章目录 Run ControlHart 运行控制状态位状态信号操作流程时间与实现注意事项Run Control 在 RISC-V 调试架构中,运行控制模块通过管理多个状态位来对硬件线程(harts)的执行进行调节和控制。这些状态位帮助调试器请求暂停或恢复 harts,并在 hart 复位时进行控制。以下是运…...

探索 IntelliJ IDEA 中 Spring Boot 运行配置

前言 IntelliJ IDEA 作为一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;为 Spring Boot 应用提供了丰富的运行配置选项&#xff0c;定义了如何在 IntelliJ IDEA 中运行 Spring Boot 应用程序&#xff0c;当从主类文件运行应用程序时&#xff0c;IDE 将创建…...

三除数枚举

给你一个整数 n 。如果 n 恰好有三个正除数 &#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在整数 k &#xff0c;满足 n k * m &#xff0c;那么整数 m 就是 n 的一个 除数 。 输入&#xff1a;n 4 输出&#xff1a;true 解释&#xff1a;4 有三…...

【051】基于51单片机温度计【Proteus仿真+Keil程序+报告+原理图】

☆、设计硬件组成&#xff1a;51单片机最小系统DS18B20温度传感器LCD1602液晶显示按键设置蜂鸣器LED灯。 1、本设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片&#xff1b; 2、采用DS18B20温度传感器测量温度&#xff0c;并且通过LCD1602实时显示温度&#xff1b;…...

[Java]微服务之服务保护

雪崩问题 微服务调用链路中的某个服务故障&#xff0c;引起整个链路中的所有微服务都不可用&#xff0c;这就是雪崩 雪崩问题产生的原因是什么? 微服务相互调用&#xff0c;服务提供者出现故障或阻塞。服务调用者没有做好异常处理&#xff0c;导致自身故障。调用链中的所有服…...

自动驾驶目标检测融合全貌

1、early fusion 早期融合&#xff0c;特点用到几何空间转换3d到2d或者2d到3d的转换&#xff0c;用像素找点云或者用点云找像素。 2、deep fusion 深度融合&#xff0c;也是特征级别融合&#xff0c;也叫多模态融合&#xff0c;如bevfusion范式 3、late fusion 晚融合&#x…...

消息框(Message Box)的测试方法和测试用例

我来帮你了解消息框(Message Box)的测试方法和测试用例的编写。 我已经创建了一个测试用例示例&#xff0c;让我为你解释消息框测试的主要方面&#xff1a; 测试维度&#xff1a; 功能性测试&#xff1a;验证消息框的基本功能是否正常样式测试&#xff1a;确认不同类型消息框…...

Ubuntu 包管理

APT&dpkg 查看已安装包 查看所有已经安装的包 dpkg -l 查找包 apt search <package_name>搜索软件包列表&#xff0c;找到与搜索关键字匹配的包 dpkg与grep结合查找特定的包 dpkg -s <package>&#xff1a;查看某个安装包的详细信息 安装包 apt安装命令 更新…...

[Ubuntu] linux之Ubuntu18.04的下载及在虚拟机中详细安装过程(附有下载链接)

前言 ubuntu 链接&#xff1a;https://pan.quark.cn/s/283509d0d36e 提取码&#xff1a;dfT1 链接失效&#xff08;可能被官方和谐&#xff09;可评论或私信我重发 下载压缩包后解压 &#xff01;&#xff01;安装路径不要有中文 下载后解压得到.iso文件&#xff0c;不要放在…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

字符串哈希+KMP

P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

麒麟系统使用-进行.NET开发

文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的&#xff0c;如果需要进行.NET开发&#xff0c;则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET&#xff0c;所以要进…...