Docker 的 Ubuntu 操作系统镜像

news2024/10/5 0:31:20

Debian 和 Ubuntu 都是目前较为流行的 Debian 系列 的服务器操作系统,十分适合研发场景。

Debian 和 Ubuntu 属于同一系列的发行版。Debian 是由 Ian Murdock 在 1993 年创建的最初的发行版。Ubuntu 是 Mark Shuttleworth 在 2004 年基于 Debian 创建的发行版。

Linux 发行版虽然有数百个,但其中只有少数是从零开始的独立发行版。 Debian、Arch、Red Hat 是其中几个不派生于其它发行版的使用最广的发行版。

Ubuntu 源自 Debian。这意味着 Ubuntu 使用与 Debian 相同的 APT 包管理系统,并共享来自 Debian 库中的大量包和库。它建立在 Debian 基础架构上。

Docker Hub 上提供了官方镜像,国内各大容器云服务也基本都提供了相应的支持。

如果使用过树莓派的话,那么安装的操作系统就为 Debian,Ubuntu 被广泛在开发环境中使用,例如 Windows 使用的 WSL 系统,也是使用的 Ubuntu。

在实际使用的时候,我们会看到 Ubuntu 使用的情况比 Debian 更多。

软件更新

Debian 更关注稳定性,这意味着它并不总是使用最新版本的软件。例如,最新的 Debian 11 用的 GNOME 版本为 3.38,并不是最新版的 GNOME 3.40。

对于 GIMP、LibreOffice 等其它软件也是如此。这是你必须对 Debian 做出的妥协。这就是“Debian stable = Debian stale”笑话在 Linux 社区流行的原因。

Ubuntu LTS 版本也关注稳定性。但是它们通常拥有较新版本的常见软件。

你应该注意,对于某些软件,从开发者的仓库安装也是一种选择。例如,如果你想要安装最新版的 Docker,你可以在 Debian 和 Ubuntu 中添加 Docker 仓库。

总体来说,相比较于 Ubuntu ,Debian 稳定版的软件版本会更旧。

Debian 系统简介

Debian 是由 GPL 和其他自由软件许可协议授权的自由软件组成的操作系统,由 Debian 计划(Debian Project) 组织维护。Debian 计划 是一个独立的、分散的组织,由 3000 人志愿者组成,接受世界多个非盈利组织的资金支持,Software in the Public Interest 提供支持并持有商标作为保护机构。

Debian 以其坚守 Unix 和自由软件的精神,以及其给予用户的众多选择而闻名。现时 Debian 包括了超过 25,000 个软件包并支持 12 个计算机系统结构。

Debian 作为一个大的系统组织框架,其下有多种不同操作系统核心的分支计划,主要为采用 Linux 核心的 Debian GNU/Linux 系统,其他还有采用 GNU Hurd 核心的 Debian GNU/Hurd 系统、采用 FreeBSD 核心的 Debian GNU/kFreeBSD 系统,以及采用 NetBSD 核心的 Debian GNU/NetBSD 系统。甚至还有利用 Debian 的系统架构和工具,采用 OpenSolaris 核心构建而成的 Nexenta OS 系统。

在这些 Debian 系统中,以采用 Linux 核心的 Debian GNU/Linux 最为著名。

众多的 Linux 发行版,例如 UbuntuKnoppix 和 Linspire 及 Xandros 等,都基于 Debian GNU/Linux

Debian 是一个自由的操作系统,由 Debian 计划开发和维护。Debian 是一个自由的 Linux 发行版,添加了数以千计的应用程序以满足用户的需要。

使用 Debian 官方镜像

官方提供了大家熟知的 debian 镜像以及面向科研领域的 neurodebian 镜像。

NeuroDebian为Debian操作系统以及Ubuntu等衍生产品提供了大量流行的神经科学研究软件。

热门套餐包括AFNI,FSL,PyMVPA,等等。

可以使用 docker run 直接运行 Debian 镜像。

$ docker run -it debian bash
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
1468e7ff95fc: Pull complete
Digest: sha256:1aadfee8d292f64b045adb830f8a58bfacc15789ae5f489a0fedcd517a862cb9
Status: Downloaded newer image for debian:latest
root@bd3f8b3110da:/# cat /etc/issue
Debian GNU/Linux 12 \n \l

root@bd3f8b3110da:/#

Debian 镜像很适合作为基础镜像,构建自定义镜像。

但实际使用上,我们使用 Ubuntu 来作为基础镜像的可能性更高一些。

如果通过 Windows 的 Docker 管理软件,可以看到运行的 Docker 镜像。

Ubuntu 系统简介

Ubuntu(国际音标:/ʊˈbʊntuː/,uu-BUUN-too)是基于Debian,以桌面应用为主的Linux发行版。Ubuntu有三个正式版本,包括桌面版、服务器版及用于物联网设备和机器人的Core版。前述三个版本既能安装于实体电脑,也能安装于虚拟电脑。从17.10版本开始,Ubuntu以GNOME为默认桌面环境。

Ubuntu是著名的Linux发行版之一,也是目前最多用户的Linux版本。Ubuntu每六个月(即每年的四月与十月)发布一个新版本,长期支持(LTS)版本每两年发布一次。普通版本一般只支持9个月,但LTS版本一般能提供5年的支持。

Ubuntu由英国肯诺有限公司发布,他们提供商业支持。它是基于自由软件,其名称来自非洲南部祖鲁语或科萨语的“Ubuntu”一词(译为乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观。

科能软件有限公司通过销售与Ubuntu相关的技术支持和其他服务来产生收益。Ubuntu项目公开承诺开源软件开发的原则;鼓励人们使用自由软件,研究它的运作原理,改进和分发。

使用 Ubuntu 官方镜像

下面以 ubuntu:24.04 为例,演示如何使用该镜像安装一些常用软件。

首先使用 -ti 参数启动容器,登录 bash,查看 ubuntu 的发行版本号。

PS C:\WorkDir\Beth-Israel-Lahey-Health\Source-Code\SVN> docker run -ti ubuntu:24.04 /bin/bash
Unable to find image 'ubuntu:24.04' locally
24.04: Pulling from library/ubuntu
49b384cc7b4a: Pull complete
Digest: sha256:3f85b7caad41a95462cf5b787d8a04604c8262cdcdf9a472b8c52ef83375fe15
Status: Downloaded newer image for ubuntu:24.04
root@0f38683a6f14:/# cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
root@0f38683a6f14:/#

当试图直接使用 apt 安装一个软件的时候,会提示 E: Unable to locate package curl

root@0f38683a6f14:/# apt install curl
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package curl
root@0f38683a6f14:/#

这并非系统不支持 apt 命令。

Docker 镜像在制作时为了精简清除了 apt 仓库信息,因此需要先执行 apt update 命令来更新仓库信息。

更新信息后即可成功通过 apt 命令来安装软件。

Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [89.7 kB]
Get:3 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [31.0 kB]
Get:4 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [11.8 kB]
Get:5 http://archive.ubuntu.com/ubuntu noble-updates InRelease [89.7 kB]
Get:6 http://archive.ubuntu.com/ubuntu noble-backports InRelease [89.7 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1808 kB]
Get:8 http://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [117 kB]
Get:9 http://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [331 kB]
Get:10 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [19.3 MB]
Get:11 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [20.1 kB]
Get:12 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [33.0 kB]
Get:13 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [4224 B]
Fetched 22.2 MB in 35s (637 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@0f38683a6f14:/#

首先,安装 curl 工具。

root@7d93de07bf76:/# apt install curl

在安装的过程中需要同意下,单击 y 继续即可。

接下来,再安装 apache 服务。

root@0f38683a6f14:/# apt install -y apache2

启动这个 apache 服务,然后使用 curl 来测试本地访问。

root@0f38683a6f14:/# apt install apache2
 * Restarting Apache httpd web server apache2                                                                           AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
                                                                                                                 [ OK ]
root@0f38683a6f14:/#

因为我们没有映射外部端口,所以容器中运行的 Apache 还没有办法被容器外访问。

配合使用 -p 参数对外映射服务端口,可以允许容器外来访问该服务。

所以,我们可以在当前的命令行工具中,运行命令:

curl localhost

控制台工具应该能够返回一个 html 超文本文件,表示访问成功。

Docker 的 Ubuntu 操作系统镜像 - 系统容器 - iSharkFlyDebian 和 Ubuntu 都是目前较为流行的 Debian 系列 的服务器操作系统,十分适合研发场景。 Debian 和 Ubuntu 属于同一系列的发行版。Debian 是由 Ian Murdock 在 1993 年创建的最初的发行版。Ubuntu 是 Mark Shuttleworth 在 2004 年基于 Debian 创建的发行版。 Linux 发行版虽然有数百个,但其中只有少数是从零开始的独立发行版。 Debi…icon-default.png?t=N7T8https://www.isharkfly.com/t/docker-ubuntu/15740

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

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

相关文章

浅谈Acrel-2000ES储能能量管理系统的设计与应用-安科瑞 蒋静

0 前言 为进一步提升河南省分布式光伏发电发展水平,促进行业健康可持续发展,河南省发布关于促进分布式光伏发电健康可持续发展的通知。对于储能行业,可以用到安科瑞Acrel-2000ES储能能量管理系统。 储能柜EMS能量管理系统 1、产品名称 储…

截图识别OCR怎么操作?一键精准识别工具分享

截图识别OCR怎么操作?截图识别OCR软件在现代办公和学习中扮演着越来越重要的角色,它们能够将图片中的文字内容快速准确地转换为可编辑的文本。无论是处理文档、整理笔记,还是进行学术研究、资料收集,这些软件都能快速、准确地将图…

TCP协议建立连接的过程及其意义

目录 三次握手 四次挥手 三次握手的意义 在客户端与服务器传输数据之前,要在两台主机之间先建立连接,然后再传输业务数据。三次握手,就是建立连接的过程,是在传输业务之前,就要先进行。握手好了,才能进行…

优质资料:大型制造企业等级保护安全建设整改依据,系统现状分析,网络安全风险分析

第1章 项目概述 XX 大型制造型企业是国内一家大型从事制造型出口贸易的大型综合企业集团,为了落实国家及集团的信息安全等级保护制度,提高信息系统的安全防护水平,细化各项信息网络安全工作措施,提升网络与信息系统工作的效率&am…

win7 phpstudy 多站点无法保存hosts的原因

1、先找到hosts文件位置 C:\Windows\System32\drivers\etc hosts文件不是txt的后缀,它是一个系统文件 2、如果不显示需要查找隐藏文件 组织-》文件夹和搜索选项-》查看-》取消隐藏文件夹的的√ 3、文件无法编辑 属性不要勾选只读

架构设计之学新而知故

缘由 因为一些特殊的机缘,接触到洋葱架构等一些新架构设计概念。 尝试理解了一段时间,就想简单梳理下对它们的理解,以达到学新而知故 😃 信息增益 以前计算机专业并不设置通信领域的信息论的专业课程,但是&#xf…

单片机智能灯控制系统源程序仿真原理图与论文全套资料

目录 1、设计描述 2、仿真图 3、程序 4、资料内容 资料下载地址:单片机智能灯控制系统源程序仿真原理图与论文全套资料下载 1、设计描述 设计了一款智能控制系统。 AT89C51LCD1602DS1302按键LED组成了这样一个完整的设计。 P2.0-P2.3 4个LED等代表庭院内的4…

拥抱智能物联新场景,畅享4G智能插座的领先优势!

在智能化浪潮席卷全球的今天,智能插座作为智能家居、智能办公、智能工业、智能校园、智能实验室等领域的核心设备,正逐渐受到人们的关注和青睐。近期,一款全新的4G智能插座正式上市,凭借其独特的优势和创新功能,已经迅…

防火墙技术基础篇:网络地址转换(NAT):防火墙技术的核心机制

防火墙技术基础篇:网络地址转换(NAT):防火墙技术的核心机制 网络地址转换(NAT)是现代网络架构中不可或缺的一个组成部分,尤其在防火墙技术的实现中扮演着重要角色。本文旨在全面解读NAT的工作机…

20-LINUX--网络编程

一. 主机字节序列和网络字节序列 主机字节序列分为大端字节序和小端字节序,不同的主机采用的字节序列可能不同。大 端字节序是指一个整数的高位字节存储在内存的低地址处,低位字节存储在内存的高地址 处。小端字节序则是指整数的高位字节存储在内存的高…

【Linux系统编程】第十七弹---进程理解

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、进程的基本概念 2、描述进程-PCB 2.1、什么是PCB 2.2、为什么要有PCB 3、task_ struct 3.1、启动进程 3.2、创建进程…

Qt之QMqtt 发送图片数据

简述 MQTT(消息队列遥测传输)是ISO标准下基于发布/订阅范式的消息协议;它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件; MQTT是一个基于客户端-服务器的消息发布/订阅传输协议;MQT…

Spring Security 复盘

1、什么Spring Security? Spring Security 是一种强大的框架,它在 Spring 生态系统中扮演着保护应用安全的关键角色。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。 2、认证 和 授权 1.什么是认证&#xff1…

电子合同怎么加盖电子章?

加盖电子章在电子合同上的过程通常涉及以下几个步骤,这里提供一个较为通用的流程,但请注意,具体操作可能会因不同的电子签名平台或软件而有所差异: 准备电子合同: 将合同内容编辑完成后,通常会保存为PDF格式…

解锁得物搬砖秘籍:实现稳定收益的秘诀大公开

01、项目介绍 目前比较常用的平台是淘宝,京东,拼多多,唯品会这些为主,以各品牌APP,小程序为辅。 从这些电商平台通过抢购,折扣等方式购买到相对低价的鞋子衣服等,货到手检查没有问题后&#x…

python绘制圣诞树 如何用python绘制一个圣诞树

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.总结 一.前言 圣诞树,是指用灯烛和装饰品把枞树或洋松装点起来的常青树。作为是圣诞节重要的组成元素之一,近代圣诞树起源于德国,后来逐步在世界范围内流行起来

掌握 Spring Boot 观察者模式:打造松耦合事件驱动应用程序

掌握 Spring Boot 观察者模式:打造松耦合事件驱动应用程序 观察者模式是一种常用的设计模式,用于解决事件驱动编程中的问题。该模式定义了一对多的依赖关系,其中一个对象(主题)向一组依赖它的对象(观察者&a…

供应商管理库存用什么软件

库存的管理是一个非常重要的话题,不管是企业还是个人,在日常工作中多多少少都会涉及到库存的管理,那么作为供应商,也是需要对库存进行管理的,因为需要对分销商进行出货,所以库存的有效管理非常重要。 供应商…

【cocos creator】2.4.0 import android.support.v4.app.ActivityCompat;失败的解决方案

时间是2024年5月,某cocos creator项目用的是2.4.0编辑器。需求是获取录音权限,需要import ActivityCompat。但是失败,提示Cannot resolve symbol app。 尝试了一些方案失败之后,决定升级cocos creator编辑器版本。升级到2.4.10。…

矿用光缆型号和规格

管道矿用光缆生产厂家,矿用光缆特点是什么,矿用通信光缆 矿用光缆 MGTS光缆的结构是将250 m光纤套入高模量材料制成的松套管中,松套管内填充防水化合物。缆芯的中心是一根金属加强芯,对于某些芯数的光缆来说,金属加强…