2019-11-05 23:35:43 +08:00
# Debian / Ubuntu
2019-09-20 15:29:02 +08:00
` Debian ` 和 ` Ubuntu ` 都 是 目 前 较 为 流 行 的 * * Debian 系 * * 的 服 务 器 操 作 系 统 , 十 分 适 合 研 发 场 景 。 ` Docker Hub ` 上 提 供 了 官 方 镜 像 , 国 内 各 大 容 器 云 服 务 也 基 本 都 提 供 了 相 应 的 支 持 。
2017-05-24 11:22:23 +08:00
2019-11-05 23:35:43 +08:00
# # Debian 系 统 简 介
2017-05-24 11:22:23 +08:00
! [ Debian 操 作 系 统 ] ( _images / debian - logo . png )
2019-09-20 15:29:02 +08:00
` Debian ` 是 由 ` GPL ` 和 其 他 自 由 软 件 许 可 协 议 授 权 的 自 由 软 件 组 成 的 操 作 系 统 , 由 * * Debian 计 划 ( Debian Project ) * * 组 织 维 护 。 * * Debian 计 划 * * 是 一 个 独 立 的 、 分 散 的 组 织 , 由 ` 3000 ` 人 志 愿 者 组 成 , 接 受 世 界 多 个 非 盈 利 组 织 的 资 金 支 持 , ` Software in the Public Interest ` 提 供 支 持 并 持 有 商 标 作 为 保 护 机 构 。 ` Debian ` 以 其 坚 守 ` Unix ` 和 自 由 软 件 的 精 神 , 以 及 其 给 予 用 户 的 众 多 选 择 而 闻 名 。 现 时 ` Debian ` 包 括 了 超 过 ` 25,000 ` 个 软 件 包 并 支 持 ` 12 ` 个 计 算 机 系 统 结 构 。
2017-05-24 11:22:23 +08:00
2019-09-20 15:29:02 +08:00
` 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 ` 最 为 著 名 。
2017-05-24 11:22:23 +08:00
2019-09-20 15:29:02 +08:00
众 多 的 ` Linux ` 发 行 版 , 例 如 ` Ubuntu ` 、 ` Knoppix ` 和 ` Linspire ` 及 ` Xandros ` 等 , 都 基 于 ` Debian GNU/Linux ` 。
2017-05-24 11:22:23 +08:00
2019-11-05 23:35:43 +08:00
# # # 使 用 Debian 官 方 镜 像
2017-05-24 11:22:23 +08:00
2019-09-20 15:29:02 +08:00
读 者 可 以 使 用 ` docker search ` 查 找 ` Debian ` 镜 像 :
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
$ docker search debian
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
debian Debian is ... 1565 [ OK ]
neurodebian NeuroDebian ... 26 [ OK ]
armbuild / debian port of debian 8 [ OK ]
...
` ` `
2019-09-20 15:29:02 +08:00
官 方 提 供 了 大 家 熟 知 的 ` debian ` 镜 像 以 及 面 向 科 研 领 域 的 ` neurodebian ` 镜 像 。
2017-05-24 11:22:23 +08:00
2019-09-20 15:29:02 +08:00
可 以 使 用 ` docker run ` 直 接 运 行 ` Debian ` 镜 像 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
$ docker run - it debian bash
root @ 668e178 d8d69 : / # cat / etc / issue
Debian GNU / Linux 8
` ` `
2019-09-20 15:29:02 +08:00
` Debian ` 镜 像 很 适 合 作 为 基 础 镜 像 , 构 建 自 定 义 镜 像 。
2017-05-24 11:22:23 +08:00
2019-11-05 23:35:43 +08:00
# # Ubuntu 系 统 简 介
2017-05-24 11:22:23 +08:00
! [ Ubuntu 操 作 系 统 ] ( _images / ubuntu - logo . jpg )
2019-09-20 15:29:02 +08:00
` Ubuntu ` 是 一 个 以 桌 面 应 用 为 主 的 ` GNU/Linux ` 操 作 系 统 , 其 名 称 来 自 非 洲 南 部 祖 鲁 语 或 豪 萨 语 的 “ ubuntu ” 一 词 ( 官 方 译 名 “ 友 帮 拓 ” , 另 有 “ 吾 帮 托 ” 、 “ 乌 班 图 ” 、 “ 有 奔 头 ” 或 “ 乌 斑 兔 ” 等 译 名 ) 。 ` Ubuntu ` 意 思 是 “ 人 性 ” 以 及 “ 我 的 存 在 是 因 为 大 家 的 存 在 ” , 是 非 洲 传 统 的 一 种 价 值 观 , 类 似 华 人 社 会 的 “ 仁 爱 ” 思 想 。 ` Ubuntu ` 基 于 ` Debian ` 发 行 版 和 ` GNOME/Unity ` 桌 面 环 境 , 与 ` Debian ` 的 不 同 在 于 它 每 6 个 月 会 发 布 一 个 新 版 本 , 每 2 年 推 出 一 个 长 期 支 持 * * ( Long Term Support , LTS ) * * 版 本 , 一 般 支 持 3 年 时 间 。
2017-05-24 11:22:23 +08:00
2019-11-05 23:35:43 +08:00
# # # 使 用 Ubuntu 官 方 镜 像
2017-05-24 11:22:23 +08:00
2019-09-20 15:29:02 +08:00
` Ubuntu ` 相 关 的 镜 像 有 很 多 , 这 里 使 用 ` --filter=stars=10 ` 参 数 , 只 搜 索 那 些 被 收 藏 ` 10 ` 次 以 上 的 镜 像 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2018-04-08 21:00:11 +08:00
$ docker search -- filter = stars = 10 ubuntu
2017-05-24 11:22:23 +08:00
2020-02-23 12:18:53 +08:00
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian - based Linux operating sys … 10539 [ OK ]
dorowu / ubuntu - desktop - lxde - vnc Docker image to provide HTML5 VNC interface … 395 [ OK ]
rastasheep / ubuntu - sshd Dockerized SSH service , built on top of offi … 243 [ OK ]
consol / ubuntu - xfce - vnc Ubuntu container with "headless" VNC session … 210 [ OK ]
ubuntu - upstart Upstart is an event - based replacement for th … 105 [ OK ]
ansible / ubuntu14 .04 - ansible Ubuntu 14.04 LTS with ansible 98 [ OK ]
neurodebian NeuroDebian provides neuroscience research s … 64 [ OK ]
1 and1internet / ubuntu - 16 - nginx - php - phpmyadmin - mysql - 5 ubuntu - 16 - nginx - php - phpmyadmin - mysql - 5 50 [ OK ]
ubuntu - debootstrap debootstrap -- variant = minbase -- components = m … 42 [ OK ]
nuagebec / ubuntu Simple always updated Ubuntu docker images w … 24 [ OK ]
i386 / ubuntu Ubuntu is a Debian - based Linux operating sys … 19
1 and1internet / ubuntu - 16 - apache - php - 5.6 ubuntu - 16 - apache - php - 5.6 14 [ OK ]
1 and1internet / ubuntu - 16 - apache - php - 7.0 ubuntu - 16 - apache - php - 7.0 13 [ OK ]
eclipse / ubuntu_jdk8 Ubuntu , JDK8 , Maven 3 , git , curl , nmap , mc , … 12 [ OK ]
1 and1internet / ubuntu - 16 - nginx - php - phpmyadmin - mariadb - 10 ubuntu - 16 - nginx - php - phpmyadmin - mariadb - 10 11 [ OK ]
2017-05-24 11:22:23 +08:00
` ` `
根 据 搜 索 出 来 的 结 果 , 读 者 可 以 自 行 选 择 下 载 镜 像 并 使 用 。
2019-09-20 14:28:50 +08:00
下 面 以 ` ubuntu:18.04 ` 为 例 , 演 示 如 何 使 用 该 镜 像 安 装 一 些 常 用 软 件 。
2017-05-24 11:22:23 +08:00
2019-09-20 14:28:50 +08:00
首 先 使 用 ` -ti ` 参 数 启 动 容 器 , 登 录 ` bash ` , 查 看 ` ubuntu ` 的 发 行 版 本 号 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2018-12-19 17:24:52 +08:00
$ docker run - ti ubuntu : 18.04 / bin / bash
root @ 7 d93de07bf76 : / # cat / etc / os - release
NAME = "Ubuntu"
VERSION = "18.04.1 LTS (Bionic Beaver)"
ID = ubuntu
ID_LIKE = debian
PRETTY_NAME = "Ubuntu 18.04.1 LTS"
VERSION_ID = "18.04"
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"
VERSION_CODENAME = bionic
UBUNTU_CODENAME = bionic
2017-05-24 11:22:23 +08:00
` ` `
当 试 图 直 接 使 用 ` apt-get ` 安 装 一 个 软 件 的 时 候 , 会 提 示 ` E: Unable to locate package ` 。
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
root @ 7 d93de07bf76 : / # apt - get install curl
Reading package lists ... Done
Building dependency tree
Reading state information ... Done
E : Unable to locate package curl
` ` `
2019-09-20 14:28:50 +08:00
这 并 非 系 统 不 支 持 ` apt-get ` 命 令 。 Docker 镜 像 在 制 作 时 为 了 精 简 清 除 了 ` apt ` 仓 库 信 息 , 因 此 需 要 先 执 行 ` apt-get update ` 命 令 来 更 新 仓 库 信 息 。 更 新 信 息 后 即 可 成 功 通 过 ` apt-get ` 命 令 来 安 装 软 件 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
root @ 7 d93de07bf76 : / # apt - get update
2020-02-23 12:18:53 +08:00
Get : 1 http : //archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get : 2 http : //security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get : 3 http : //security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [7348 B]
Get : 4 http : //security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [823 kB]
Get : 5 http : //archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get : 6 http : //archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get : 7 http : //archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB]
Get : 8 http : //security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [31.0 kB]
Get : 9 http : //security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [835 kB]
Get : 10 http : //archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB]
Get : 11 http : //archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB]
Get : 12 http : //archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB]
Get : 13 http : //archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1127 kB]
Get : 14 http : //archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1350 kB]
Get : 15 http : //archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [11.4 kB]
Get : 16 http : //archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [44.7 kB]
Get : 17 http : //archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B]
Get : 18 http : //archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4252 B]
Fetched 17.6 MB in 1 min 25 s ( 207 kB / s )
Reading package lists ... Done
2017-05-24 11:22:23 +08:00
` ` `
2019-09-20 15:29:02 +08:00
首 先 , 安 装 ` curl ` 工 具 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
root @ 7 d93de07bf76 : / # apt - get install curl
Reading package lists ... Done
Building dependency tree
Reading state information ... Done
2020-02-23 12:18:53 +08:00
The following additional packages will be installed :
ca - certificates krb5 - locales libasn1 - 8 - heimdal libcurl4 libgssapi - krb5 - 2 libgssapi3 - heimdal libhcrypto4 - heimdal libheimbase1 - heimdal libheimntlm0 - heimdal libhx509 - 5 - heimdal
libk5crypto3 libkeyutils1 libkrb5 - 26 - heimdal libkrb5 - 3 libkrb5support0 libldap - 2.4 - 2 libldap - common libnghttp2 - 14 libpsl5 libroken18 - heimdal librtmp1 libsasl2 - 2 libsasl2 - modules libsasl2 - modules - db libsqlite3 - 0 libssl1 .1 libwind0 - heimdal openssl publicsuffix
2017-05-24 11:22:23 +08:00
...
root @ 7 d93de07bf76 : / # curl
curl : try ' curl -- help ' or ' curl -- manual ' for more information
` ` `
2019-09-20 15:29:02 +08:00
接 下 来 , 再 安 装 ` apache ` 服 务 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
root @ 7 d93de07bf76 : / # apt - get install - y apache2
Reading package lists ... Done
Building dependency tree
Reading state information ... Done
2020-02-23 12:18:53 +08:00
The following additional packages will be installed :
apache2 - bin apache2 - data apache2 - utils file libapr1 libaprutil1 libaprutil1 - dbd - sqlite3 libaprutil1 - ldap libexpat1 libgdbm - compat4 libgdbm5 libicu60 liblua5 .2 - 0 libmagic - mgc libmagic1 libperl5 .26 libxml2 mime - support netbase perl perl - modules - 5.26 ssl - cert xz - utils
2017-05-24 11:22:23 +08:00
...
` ` `
2019-09-20 15:29:02 +08:00
启 动 这 个 ` apache ` 服 务 , 然 后 使 用 ` curl ` 来 测 试 本 地 访 问 。
2017-05-24 11:22:23 +08:00
2017-11-22 11:13:23 +08:00
` ` ` bash
2017-05-24 11:22:23 +08:00
root @ 7 d93de07bf76 : / # service apache2 start
* Starting 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
*
root @ 7 d93de07bf76 : / # curl 127.0 .0 .1
< ! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns = "http://www.w3.org/1999/xhtml" >
< ! --
Modified from the Debian original for Ubuntu
2020-02-23 12:18:53 +08:00
Last updated : 2016 - 11 - 16
2017-05-24 11:22:23 +08:00
See : https : //launchpad.net/bugs/1288690
-- >
< head >
< meta http - equiv = "Content-Type" content = "text/html; charset=UTF-8" / >
< title > Apache2 Ubuntu Default Page : It works < / title >
< style type = "text/css" media = "screen" >
...
` ` `
配 合 使 用 ` -p ` 参 数 对 外 映 射 服 务 端 口 , 可 以 允 许 容 器 外 来 访 问 该 服 务 。
2019-11-05 23:35:43 +08:00
# # 相 关 资 源
2017-05-24 11:22:23 +08:00
2017-12-01 17:32:53 +08:00
* ` Debian ` 官 网 : https : //www.debian.org/
* ` Neuro Debian ` 官 网 : http : //neuro.debian.net/
* ` Debian ` 官 方 仓 库 : https : //github.com/Debian
* ` Debian ` 官 方 镜 像 : https : //hub.docker.com/_/debian/
* ` Debian ` 官 方 镜 像 仓 库 : https : //github.com/tianon/docker-brew-debian/
2020-02-23 12:18:53 +08:00
* ` Ubuntu ` 官 网 : https : //ubuntu.com
2017-12-01 17:32:53 +08:00
* ` Ubuntu ` 官 方 仓 库 : https : //github.com/ubuntu
* ` Ubuntu ` 官 方 镜 像 : https : //hub.docker.com/_/ubuntu/
* ` Ubuntu ` 官 方 镜 像 仓 库 : https : //github.com/tianon/docker-brew-ubuntu-core