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/10/9 13:33:59 阅读更多 →
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/10/2 10:16:01 阅读更多 →
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/10/2 11:15:53 阅读更多 →

最新新闻

JavaScript公式编辑器实战:从LaTeX渲染到存储回显全解析

JavaScript公式编辑器实战:从LaTeX渲染到存储回显全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:58:18 阅读更多 →
读懂STM32寄存器:GPIO、时钟与中断的工程实践白话解析

读懂STM32寄存器:GPIO、时钟与中断的工程实践白话解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:58:18 阅读更多 →
XXL-JOB容器化部署K8s完整指南:YAML编排与网络回调避坑

XXL-JOB容器化部署K8s完整指南:YAML编排与网络回调避坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:58:17 阅读更多 →
TinyBase 与 Solid 实战:用 ui-solid-dom 组件库快速构建可交互数据表格与调试面板

TinyBase 与 Solid 实战:用 ui-solid-dom 组件库快速构建可交互数据表格与调试面板

数据库后端前端 【免费下载链接】tinybase A reactive data store & sync engine. 项目地址: https://gitcode.com/gh_mirrors/ti/tinybase 点击查看 免费下载 本文基于 TinyBase 仓库中的 UI Components (Solid) 系列演示(site/demos/10_ui_compon…

2026/10/13 1:58:17 阅读更多 →
集合交并差实验包:数组、链表与位图的实现与避坑指南

集合交并差实验包:数组、链表与位图的实现与避坑指南

简介:实验一集合交并差压缩包是一份面向软件工程与数据结构初学者的集合操作实训资源,围绕交集、并集、差集三个核心概念,在可视化开发环境中提供可运行的编程实现。压缩包共包含八个文件,其中三个源程序文件与三个头文件构成完整…

2026/10/13 1:58:17 阅读更多 →
ArangoDB 官方 Docker 镜像部署实战:实例启动、认证配置、资源限制与数据持久化

ArangoDB 官方 Docker 镜像部署实战:实例启动、认证配置、资源限制与数据持久化

文档 【免费下载链接】docs Documentation for Docker Official Images in docker-library 项目地址: https://gitcode.com/gh_mirrors/docs/docs 点击查看 免费下载 导读:本文以 docker-library 官方文档仓库中的 arangodb/content.md 为骨架&#xff…

2026/10/13 1:57:17 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →