Docker基础——Docker Server安装(ubuntu)和Docker镜像相关命令
目录安装 dockerDocker Server安装步骤Docker 镜像源修改Docker目录修改Docker生态新时代软件诉求Docker 解决方案Docker Registry镜像仓库什么是 Docker Registry镜像仓库分类镜像仓库工作机制镜像仓库命令docker logindocker pulldocker pushdocker searchdocker logout镜像命令docker imagesdocker image inspectdocker tag容器命令run和psdocker rundocker ps安装 dockerDocker Sverver支持的osDocker Server安装步骤1、确定 CPU,可以看到我们的是 X86_64是支持的如果是 arm 一般会显示aarch64,我们ubuntu是X86架构的2、配置 docker 下载源#curl 命令安装sudo apt install curl -y#创建 gpg key 目录sudo mkdir -m 0755 -p /etc/apt/keyrings#下载 gpg keycurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpgecho \deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg]https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null3、安装sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y4、自启动配置#配置加载sudo systemctl daemon-reload#启动服务sudo systemctl start docker#开启启动sudo systemctl enable docker#查看服务状态sudo systemctl status docker5、检查安装版本Docker 镜像源修改对于使用 systemd 的系统Ubuntu 16.04、Debian 8、CentOS 7 如果是腾讯云在配置文件 /etc/docker/daemon.json 中加入JSON{registry-mirrors: [https://mirror.ccs.tencentyun.com]}如果是阿里云因为只对企业开放海外代理只能找私人的一些开放的源目前可以使用的源如下{registry-mirrors: [https://docker.m.daocloud.io,https://dockerhub.timeweb.cloud,https://huecker.io]}重新启动 dockerdsudo systemctl daemon-reloadsudo systemctl restart dockerDocker目录修改Docker 默认的安装目录为/var/lib/docker,这里面会存放很多很多镜像所以我们在安装的时候需要考虑这个目录的空间有三种解决方案。1将/var/lib/docker 挂载到一个大的磁盘这种一般我们能控制挂载目录像腾讯云这种云厂商在安装 K8s 的节点的时候提供了挂载选项可以直接挂载这个目录过去2安装之前挂载一个大的磁盘然后创建一个软链接到/var/lib/docker这样就自动安装到我们空间比较大的磁盘了3安装了 docker然后发现忘了配置这个目录我们需要修改 docker 的配置文件#假定我们磁盘的大的目录为 /datamkdir -p /data/var/lib/docker# 编辑配置文件vi /etc/docker/daemon.json# 输入下面的 json{data-root: /data/var/lib/docker}# 加载配置sudo systemctl daemon-reload# 重启 dockersudo systemctl restart docker#查看 docker 状态sudo systemctl status dockerDocker生态新时代软件诉求我们来考虑 2 个问题Docker 为什么要设计镜像然后又搭建个 Docker Hub搞个镜像仓库呢我们来看下现在的时代发生了什么数据量疯狂增长随着物联网、边缘计算等智能终端设备不断普及受到来自物联网设备信号、元数据、娱乐相关数据、云计算和边缘计算的数据增长的驱动全球数据量呈现加速增长。根据 IDC 分布的《数据时代 2025》预测全球数据量将从 2018 年的 33ZB 增至 2025年的 175ZB增长超过 5 倍中国平均增速快于全球 3%预计到 2025 年将增至48.6ZB占全球数据圈的比例由 23.4%提升27.8%。其中中国企业级数据量将从2015 年占中国数据量的 49增长到 2025 年的 69。处理能力快速增加腾讯云全球服务器数量 100w数据量 EB2020 年阿里云在全国已建成 5 大超级数据中心阿里云在全球 22 个地域部署了上百个数据中心服务器的总规模数已经接近 200 万台。某省疾控中心疫苗预约系统、全员核酸检测系统、健康码系统共 300 余台服务器并为核酸检测系统快速扩容计算和存储资源软件需求爆发式增长研发模式从瀑布开发演变为敏捷开发原来 3 个月上一次新功能现在两周一次而开发过程中我们也经常遇到需要修改需求然后变更再发布的情况软件上线有问题需要快速回滚对软件有着极强的版本管理和回滚诉求。软件的研发人员、研发公司在设计、研发好一款软件的时候如何方便的共享给他人而又能快速的使用起来每个项目组使用的语言不一样需要不同的环境每个都得搞一套。每次都要一个个完成部署安装每次都有各种奇怪的问题Docker 解决方案云时代需要我们针对这些诉求有一套针对的解决方案。我们要处理海量的数据如何处理呢购买大量的服务器并研发对应软件开发的需求需要频繁的变更上线如何才能将修改的代码快速的分发到几百或者几千台服务器呢如何共享软件呢搞一个中心仓库让各个服务器去下载软件包安装所以 CentOS 搞了 yum 仓库docker 设计了镜像仓库docker hub 是公共的托管仓库。软件设计好以后怎么快速安装启动有问题回滚呢将 docker 需要的所有信息设计一套软件格式把所有的依赖搞进去并打上版本标签这样不会换一个服务器各种问题所以 Docker 设计了镜像。不同的开发环境怎么搭建呢一会 java一会 cdocker 设计了镜像来应对镜像里面存放了需要运行的环境就像我们的 iPhone 内置 ios我们的华为 mate 50 内置鸿蒙一样一条命令就可以完成某个环境的搭建。Docker Registry镜像仓库什么是 Docker Registry镜像仓库(Docker Registry) 负责存储、管理和分发镜像并且提供了登录认证能力建立了仓库的索引。镜像仓库管理多个 Repository Repository 通过命名来区分。每个 Repository 包含一个或多个镜像镜像通过镜像名称和标签 (Tag)来区分。镜像仓库(Registry):要从哪一个镜像仓库拉取镜像通常通过 DNS 或 IP 地址来确定一个镜像仓库如 hub.docker.com;一个 Registry 中可以存在多个Repository·Repository 可分为“顶层仓库”和“用户仓库”;·用户仓库名称格式为“用户名/仓库名”·每个仓库可以包含多个 Tag(标签)每个标签对应一个镜像Repository: ·由某特定的 docker 镜像的所有迭代版本组成的镜像仓库镜像名称name标签(tag):如 nginx:latest认证能力提供用户注册登录、登出能力索引提供镜像的索引信息方便检索一个容器镜像包含了两个部分一个是元数据其实就是由 dockerfile 构建出来的描述文件这个描述文件会说这个容器镜像有多少层每一层里面有什么内容它的checksum 这些信息都会记录下来还有最终的可执行文件在哪就是在存储数据里面就是在一个一个的 blob 里面真正占有空间的就是这些 blob。镜像仓库分类按是否对外开放划分也是研发人员常说的1公有仓库像阿里云、dockerhub等放到公有网络上不用登录就可以下载镜像供大家访问使用2私有仓库不对外开放往往位于私有网络只有公司内部人员可以使用。按供应商和面向群体划分(1)sponsor赞助registry第三方的registry供客户和docker社区版使用(2)mirror(镜像registry第三方的registry只让客户使用例如阿里云必须注册才能使用(3)vendor(供应商) registry由发布docker镜像的供应商提供的registry例如像Google 和Redhat提供了镜像仓库服务(4)private registry通过没有防火墙和额外的安全层的私有实体提供的registry仅供内部使用镜像仓库工作机制镜像仓库使用流程 通过docker login登录仓库docker pull拉取需要的镜像通过dockerfile或者commit等方式制作完镜像通过docker push上传到仓库常用的镜像仓库Docker HubDocker Hub是Docker提供的托管存储库服务用于查找容器映像并与您的团队共享。具有以下功能1个人可以注册私有仓库能够发布自己的镜像2提供镜像检索能力3提供海量官方和认证组织的镜像4从GitHub和Bitbucket自动构建容器镜像并将它们推送到Docker Hub5支持webhookwebhook是一种基于HTTP的回调函数,发生指定的事件时服务器会自动将相关的有效负载发送到客户端的 webhook URL。 私有仓库私有镜像仓库则是指部署在公司或组织内部用于自身应用Docker镜像存储、分发的镜像仓库。在构建公司内部使用的自动化发布系统的过程中从安全的角度出发应用的打包镜像一般情况下只会被存储在私有镜像仓库中CI/CD流程的衔接点也是通过向私有镜像仓库上传镜像和拉取镜像的操作来完成的镜像仓库命令docker login功能登陆到一个 Docker 镜像仓库如果未指定镜像仓库地址默认为官方仓库 DockerHub语法docker login [OPTIONS] [SERVER]关键参数-u :登陆的用户名-p :登陆的密码docker pull功能 从镜像仓库中拉取或者更新指定镜像语法docker pull [OPTIONS] NAME[:TAG|DIGEST]关键参数-a :拉取所有tagged镜像--disable-content-trust :忽略镜像的校验,默认开启docker push功能 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库语法docker push [OPTIONS] NAME[:TAG]关键参数-a :推送所有tagged镜像--disable-content-trust :忽略镜像的校验,默认开启docker search功能 从 Docker Hub查找镜像因docker网站被封该命令暂时国内无法实操需要国外网络联系。语法docker search [OPTIONS] TERM关键参数--no-trunc :显示完整的镜像描述-f 过滤条件:列出收藏数不小于指定值的镜像。docker logout功能登出一个 Docker镜像仓库如果未指定镜像仓库地址默认为官方仓库Docker Hub语法docker logout [SERVER]镜像命令docker images功能 列出本地镜像语法docker images [OPTIONS] [REPOSITORY[:TAG]]关键参数-a :列出本地所有的镜像含中间映像层默认情况下过滤掉中间映像层--digests :显示镜像的摘要信息-f :显示满足条件的镜像--format :指定返回值的模板文件--no-trunc :显示完整的镜像信息-q :只显示镜像ID。docker image inspect功能 查看镜像详细信息语法docker image inspect [OPTIONS] IMAGE [IMAGE...]docker tag功能 标记本地镜像将其归入某一仓库语法docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]容器命令run和psdocker run功能创建一个新的容器并运行一个命令语法docker run [OPTIONS] IMAGE [COMMAND] [ARG...]关键参数-d:后台运行容器并返回容器ID-i:以交互模式运行容器通常与-t同时使用-P:随机端口映射容器内部端口随机映射到主机的端口-p:指定端口映射格式为主机(宿主)端口:容器端口-t:为容器重新分配一个伪输入终端通常与-i同时使用--namenginx-lb:为容器指定一个名称-h mars:指定容器的hostname-e usernameritchie:设置环境变量--cpuset-cpus0-2 or --cpuset-cpus0,1,2:绑定容器到指定CPU运行-m :设置容器使用内存最大值--networkbridge:指定容器的网络连接类型--link[]:添加链接到另一个容器--volume , -v:绑定一个卷--rm:shell退出的时候自动删除容器docker ps功能 列出容器语法docker ps [OPTIONS]关键参数-a :显示所有的容器包括未运行的。-f :根据条件过滤显示的内容。--format :指定返回值的模板文件。如json或者table-l :显示latest的容器。-n :列出最近创建的n个容器。--no-trunc :不截断输出。-q :静默模式只显示容器编号。-s :显示总的文件大小。

相关新闻

MNE-Python中的信号空间分离(SSS)与Maxwell滤波技术详解:从原理到实践

MNE-Python中的信号空间分离(SSS)与Maxwell滤波技术详解:从原理到实践

MNE-Python中的信号空间分离(SSS)与Maxwell滤波技术详解:从原理到实践 【免费下载链接】mne-python MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python 项目地址: https://gitcode.com/gh_mirrors/mn/mne-python 引言&#xff…

2026/7/23 21:38:26 阅读更多 →
5分钟快速上手AzerothCore-WoTLK:开源MMO服务器终极部署指南

5分钟快速上手AzerothCore-WoTLK:开源MMO服务器终极部署指南

5分钟快速上手AzerothCore-WoTLK:开源MMO服务器终极部署指南 【免费下载链接】azerothcore-wotlk Complete Open Source and Modular solution for MMO 项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk 还在为搭建魔兽世界私服而烦恼吗…

2026/7/21 18:10:32 阅读更多 →
AtlasOS专业指南:彻底解决Windows安装错误2502/2503

AtlasOS专业指南:彻底解决Windows安装错误2502/2503

AtlasOS专业指南:彻底解决Windows安装错误2502/2503 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending/atlas1…

2026/7/21 18:10:35 阅读更多 →

最新新闻

IntelliJ IDEA 2026.2 最新发布

IntelliJ IDEA 2026.2 最新发布

IntelliJ IDEA 2026.2 已正式发布,带来了针对开发工作流与新技术的重大升级。 核心亮点包括原生集成 GitHub Copilot、新增 Logpoints 调试支持,以及对 Java 27 和 Kotlin 2.4 的首日支持。 发布日志可以参考官方的博文。 AI 的性能有些提升。 IntelliJ…

2026/7/23 21:38:00 阅读更多 →
2026梧州黄金回收白银回收铂金回收工商备案可查全城上门回收旧金老店联系方式推荐

2026梧州黄金回收白银回收铂金回收工商备案可查全城上门回收旧金老店联系方式推荐

2026梧州黄金白银铂金回收实测榜单|公安工商双备案无损测金无折旧费门店 梧州街头巷尾的贵金属回收店铺近年如雨后春笋般涌现,但不少市民反馈遭遇虚高报价、克扣损耗、未经同意熔金压价等消费陷阱。为帮助本地居民规避套路,小编实地走访全城&…

2026/7/23 21:38:00 阅读更多 →
网络一切正常但就是打不开某个特定网站,问题出在哪?

网络一切正常但就是打不开某个特定网站,问题出在哪?

浏览器里其他网页都能打开,就某一个打不开。刷新几次偶尔能加载出来,大部分时间卡住。ping能通,延迟也正常,浏览器里就是转圈。遇到这种情况,排查方向往往集中在“网站是不是挂了”。但换手机热点试一下又能打开&#…

2026/7/23 21:38:00 阅读更多 →
mybatisplus Enum枚举,@JsonValue / @JsonCreator简单使用

mybatisplus Enum枚举,@JsonValue / @JsonCreator简单使用

文章目录前言一、Enum定义1.完整代码2.分段解析1.状态定义2.状态内部变量定义3.构造函数4.重写getValue5.fromCodetips二、业务使用完整业务函数fromCode() 使用getValue()使用序列化和反序列化总结前言 Enum枚举类型安全、自带描述、支持 Mybatis 自动持久化、规范&#xff0…

2026/7/23 21:38:00 阅读更多 →
大规模感知模型:多模态情绪识别与动态反馈系统解析

大规模感知模型:多模态情绪识别与动态反馈系统解析

1. 大规模感知模型的核心机制解析大规模感知模型作为当前AI领域的前沿技术,其核心在于构建多模态情绪识别与动态反馈系统。这种模型通过整合文本语义分析、面部微表情识别、语音情感计算等多维度感知能力,实现对用户情绪状态的精准捕捉和量化评估。1.1 情…

2026/7/23 21:38:00 阅读更多 →
【剪映AI配音实战指南】:20年音视频专家亲授,3步搞定专业级AI配音(附避坑清单)

【剪映AI配音实战指南】:20年音视频专家亲授,3步搞定专业级AI配音(附避坑清单)

更多请点击: https://intelliparadigm.com 第一章:剪映AI配音的核心原理与技术演进 剪映AI配音并非简单的语音合成(TTS)工具,而是融合了端到端深度学习、音色克隆、韵律建模与上下文感知语音生成的多模态语音系统。其…

2026/7/23 21:37:00 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻