前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Docker 的 Ubuntu 操作系统镜像

Docker 的 Ubuntu 操作系统镜像

原创
作者头像
HoneyMoose
发布于 2024-05-13 02:00:23
发布于 2024-05-13 02:00:23
32200
代码可运行
举报
文章被收录于专栏:CWIKIUSCWIKIUS
运行总次数:0
代码可运行

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 镜像。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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 的发行版本号。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 命令来安装软件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 工具。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@7d93de07bf76:/# apt install curl

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

接下来,再安装 apache 服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@0f38683a6f14:/# apt install -y apache2

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 参数对外映射服务端口,可以允许容器外来访问该服务。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl localhost

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

https://www.isharkfly.com/t/docker-ubuntu/15740

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker Ubuntu系统安装
Docker还允许我们在隔离的容器中安装任何操作系统。在下面的例子中,将演示如何在Docker中安装Ubuntu系统。
黑洞代码
2022/01/24
7190
Ubuntu安装docker
参考官方安装地址:https://docs.docker.com/engine/install/ubuntu/
是小张啊喂
2022/08/18
2.7K0
zzupdate:单条命令升级 Ubuntu 18.04 LTS
Ubuntu 18.04 版本已经发布,并得到各个社区的一致好评,因为 Ubuntu 18.04 可能是 Ubuntu 多年来最令人兴奋的版本。
用户8639654
2021/10/14
6480
轻量小巧的零配置 APT 加速工具:APT Proxy
相比老牌儿的 apt cacher ng 而言,除了尺寸更小、内存占用更低(10M以内)、还拥有无需配置,开箱即用等的特点。
soulteary
2022/09/01
8700
轻量小巧的零配置 APT 加速工具:APT Proxy
Docker理论与实践(二)
image是一个文件系统,里面有运行时使用的参数。它没有状态且不能改变。容器是镜像的运行实例。命令执行时,Docker Engine会进行以下的步骤:
Tyan
2022/05/09
2750
轻量小巧的零配置 APT 加速工具:APT Proxy
相比老牌儿的 apt cacher ng 而言,除了尺寸更小、内存占用更低(10M以内)、还拥有无需配置,开箱即用等的特点。
soulteary
2022/06/14
7740
轻量小巧的零配置 APT 加速工具:APT Proxy
如何为 Python 应用选择最好的 Docker 镜像?
在使用 Python 的早些年,为了解决 Python 包的隔离与管理 virtualenvwrapper 就成为我的工具箱中重要的一员。后来,随着 Python 3 的普及,virtualenvwrapper 逐渐被 venv 所替换。毕竟 venv 是 Python 3 的标配,优点是显而易见的。而这几年,应用场景的的复杂性越来与高,无论是开发还是部署都需要设置复杂的环境。例如使用 redis 实现消息队列,用 Psycopg 完成对于 PostgreSQL 数据库的存取等等。随之而来 Docker 就变成了程序员必不可少的常备工具。为了掌握如何将我的 Python 应用与 Docker 结合起来,就要学习他人的经验分享。于是一次又一次地看到了下面这样的 Dockerfile 例子:
我的小碗汤
2023/03/20
2.6K0
如何为 Python 应用选择最好的 Docker 镜像?
Install Rancher 1
因为整合了 k8s 的编排功能, 并且有着非常友好的操作界面,所以在目前的容器技术圈中有着很大的影响力
franket
2021/08/10
7010
搭建 Ubuntu 24.04 基础开发环境指南
两年前我写过一篇《在笔记本上搭建高性价比的 Linux 学习环境:基础篇[1]》,随着时间推移,里面的一些内容需要更新了。
soulteary
2025/01/19
6330
搭建 Ubuntu 24.04 基础开发环境指南
Debian使用`apt update`更新`https://download.docker.com/linux/debian`报错
腾讯的镜像页面docker-ce (tencent.com),可以看到这是CentOS系统的修改指南:
kr
2024/08/05
5680
Debian使用`apt update`更新`https://download.docker.com/linux/debian`报错
WIN10下创建Ubuntu18.04子系统及安装图形界面
控制面板——>程序——>程序和功能——>启用或关闭Windows功能——>适用于Linux的Windows子系统——>确定 (然后重启)
好派笔记
2021/09/17
3.1K0
Ubuntu Docker 安装
Docker Engine - Community 支持上 x86_64(或 amd64)armhf,arm64,s390x (IBM Z),和 ppc64le(IBM的Power)架构。
用户8647142
2021/07/27
6080
更新Ubuntu软件源
原有的软件源的存储路径是/etc/apt/sources.list,文件内容如下。
全栈程序员站长
2022/09/15
1.5K0
更新Ubuntu软件源
【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案
拿起了封尘已久的ThinkPad,输入 sudo apt update 的时候,发现这个命令变得不好使了,具体出现的问题如下图所示:
Angel_Kitty
2019/09/09
13.7K1
Ubuntu系统下部署flatpress轻量级博客系统
江湖有缘
2024/09/10
1420
Ubuntu系统下部署flatpress轻量级博客系统
搭建 Ubuntu 24.04 基础开发环境指南
两年前我写过一篇《在笔记本上搭建高性价比的 Linux 学习环境:基础篇》,随着时间推移,里面的一些内容需要更新了。
soulteary
2025/01/17
2.6K0
搭建 Ubuntu 24.04 基础开发环境指南
Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
Linux基础:https://www.cnblogs.com/dunitian/p/4822808.html#linux
逸鹏
2018/06/01
1.7K0
Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
ROS2 Humble测试版安装笔记
docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html
zhangrelay
2022/05/10
7930
ROS2 Humble测试版安装笔记
基于debian发行版的AvaotaOS下的dpkg和apt工具使用方法详解
在 Linux 系统中,使用源代码进行软件编译能够实现高度定制化的设置,但对于Linux发行版的用户来说,并不是每个人都具备源代码编译的能力。这一点成为了Linux发行商面临的一个软件管理难题,因为这影响了软件在Linux平台上的发行和推广。
阿志小管家
2024/07/26
1490
腾讯云Ubuntu Server 16.04.1 LTS升级系统到Ubuntu 18.04.1 LTS
* 此修改方案为临时方案(/etc/resolv.conf文件系统重启后会自动还原),最终方案待定,下方为腾讯云原装Ubuntu 18.04.1 LTS系统镜像 systemd-resolve --status执行结果,仅供参考。
用户1196360
2018/11/23
8.4K0
腾讯云Ubuntu Server 16.04.1 LTS升级系统到Ubuntu 18.04.1 LTS
相关推荐
Docker Ubuntu系统安装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档