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

news2024/12/1 18:28:11

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 Engine
   Loaded: 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的ID

docker 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从私服拉取镜像如图

到此结束

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

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

相关文章

IOS ARKit进行图像识别

先讲一下基础控涧&#xff0c;资源的话可以留言&#xff0c;抽空我把它传到GitHub上&#xff0c;这里没写收积分&#xff0c;竟然充值才能下载&#xff0c;我下载也要充值&#xff0c;牛&#xff01; ARSCNView 可以理解画布或者场景 1 配置 ARWorldTrackingConfiguration AR追…

CSS笔记(二)类名复用

这里我通过两张不同位置的卡片来实现效果 代码 <!DOCTYPE html> <html><head><style>/*设置画布*/body{/* 方便排列与对齐*/display: flex; /*画布布满整个窗口*/height: 100vh;/*水平居中*/justify-content: center;/*垂直居中*/align-items: cente…

远程协助软件Todesk免费版有什么限制

大名鼎鼎的远程todesk也开始出限制了&#xff0c;国内远程协助一直是向日葵一家独大&#xff0c;todesk起来以后慢慢占领了部分市场&#xff0c;随用户越来越多&#xff0c;其服务器也开始不堪重负了&#xff0c;于2024年的6月发了公告&#xff0c;出告了限制发表的措施具体如下…

【力扣热题100】[Java版] 刷题笔记-3. 无重复字符的最长子串

题目:3. 无重复字符的最长子串 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 解题思路 根据题目&#xff0c;只需要返回无重复字符串的最长子串的长度&#xff0c;所以我们不需要知道知道字符串内容是什么&#xff0c;在整个字符串 s 中&…

【03】Selenium+Python 八种定位元素方法

操作元素&#xff0c;需要先查找定位到对应的元素。 查找单个元素&#xff1a;driver.find_element() 返回是一个web element 对象 查找多个元素&#xff1a;driver.find_elements() 返回是一个list对象 By 是 Selenium 中一个非常重要的类&#xff0c;用于定位网页元素。 使…

【文献阅读】自动化构音障碍严重程度分类:声学特征与深度学习技术的研究

自动化构音障碍严重程度分类:声学特征与深度学习技术的研究 文章目录 自动化构音障碍严重程度分类:声学特征与深度学习技术的研究思维导图摘要I. 引言A. 动机与相关工作II. 数据库III. 实验设计A. 分析 MFCC 和 CQCCB. 分析语言障碍特定特征C. 分析 i-向量IV. 特征设计V. 分类…

设计模式 外观模式 门面模式

结构性模式-外观模式 门面模式 适用场景&#xff1a;如果你需要一个指向复杂子系统的直接接口&#xff0c; 且该接口的功能有限&#xff0c; 则可以使用外观模式。 不用关心后面的查询具体操作 /*** 聚合查询接口*/ RestController RequestMapping("/search") Slf…

【DB】根据某字段生成序号

如下图所示&#xff1a;根据RCV_ORD_NUM,生成明细行号&#xff0c;当RCV_ORD_NUM相同时&#xff0c;序号自增&#xff0c;不同时&#xff0c;从1开始并始终保持四位字符串 直接更新的方式 SET i : 0, now_region_id : NULL; UPDATE tqt_pl_prod.t_receipt_order_line l1 JOIN …

STM32的CAN波特率计算

公式&#xff1a; CAN波特率 APB总线频率 / &#xff08;BRP分频器 1&#xff09;/ (SWJ BS1 BS2) SWJ一般为1。 例如STM32F407的&#xff0c;CAN1和CAN2都在在APB1下&#xff0c;频率是42000000 如果想配置成1M波特率&#xff0c;则计算公式为&#xff1a;

【算法day4】链表:应用拓展与快慢指针

题目引用 两两交换链表节点删除链表的倒数第n个节点链表相交环形链表 1.两两交换链表节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&am…

电子应用设计方案-33:智能AI投影仪系统方案设计

智能 AI 投影仪系统方案设计 一、引言 随着科技的不断进步&#xff0c;投影仪在家庭娱乐、商务办公和教育培训等领域的应用越来越广泛。智能 AI 投影仪作为一种创新的投影设备&#xff0c;结合了人工智能技术&#xff0c;为用户带来更便捷、智能和个性化的使用体验。 二、系统…

Python语法基础(五)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 首先&#xff0c;我们需要明白一句话&#xff0c;在Python中&#xff0c;一切都是对象 单片机&#xff0c;嵌入式都是面向过程的 面向对象有封装&#xff0c;继承&#xff0c;多态…

pip install causal-conv1d==1.1.1报错

Building wheels for collected packages: causal-conv1d Building wheel for causal-conv1d (setup.py) ... error error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [8 lines of output]…

Xcode15(iOS17.4)打包的项目在 iOS12 系统上启动崩溃

0x00 启动崩溃 崩溃日志&#xff0c;只有 2 行&#xff0c;看不出啥来。 0x01 默认配置 由于我开发时&#xff0c;使用的 Xcode 14.1&#xff0c;打包在另外一台电脑 Xcode 15.3 Xcode 14.1 Build Settings -> Asset Catalog Compliter - Options Xcode 15.3 Build S…

14 —— Webpack解析别名

import {checkPhone, checkCode} from ../src/utils/check.js 这么使用相对路径不安全 —— 在webpack.config.js中配置解析别名来代表src绝对路径

SystemUI 下拉框 Build 版本信息去掉

需求及场景 去掉SystemUI 下拉框 Build 版本信息 如下图所示&#xff1a;去掉 12 &#xff08;SP1A.201812.016) 了解 去掉之前我们先了解它是个什么东西:其实就是一个Build RTM 信息显示 Android_12_build_SP1A.210812.016 修改文件 /frameworks/base/packages/Syste…

基于协同推荐的黔醉酒业白酒销售系统

文末获取源码和万字论文 摘 要 基于协同推荐的黔醉酒业白酒销售系统主要针对黔醉酒业的具体业务需求所设计&#xff0c;现阶段阶段我国大型企业都会有自己的电商平台以及销售管理系统&#xff0c;其功能对于中小型过于冗长复杂&#xff0c;成本也不是中小型企业能够承受的&…

爬虫笔记24——纷玩岛自动抢票脚本笔记

纷玩岛自动抢票&#xff0c;协议抢票思路实现 一、获取Authorization凭证二、几个关键的参数三、几个关键的接口获取参数v&#xff0c;这个参数其实可以写死&#xff0c;可忽略通过价位获取演出的参数信息获取观演人信息&#xff0c;账号提前录入即可提交订单接口 先看实现图&a…

并发专题(7)之JUC并发工具源码分析

一、CountdownLatch源码分析 1.1 CountdownLatch应用 CountDownLatch本身就好像一个计数器&#xff0c;可以让一个线程或多个线程等待其他线程完成后再执行。 public static void main(String[] args) throws InterruptedException, BrokenBarrierException {// 声明CountDow…

SQL进阶技巧:如何寻找同一批用户 | 断点分组应用【最新面试题】

目录 0 问题描述 1 数据准备 2 问题分析 ​编辑 3 小结 0 问题描述 用户登录时间不超过10分钟的视为同一批用户,找出以下用户哪些属于同一批用户(SQL实现) 例如: user_name time a 2024-10-01 09:55 b 2024-10-01 09:57 c 2024-10-01…