Ubuntu 桌面容器

Ubuntu 桌面容器

我所能找到的只是Ubuntu 桌面版官方 Docker 镜像在 Docker Hub 上。没有适用于 Ubuntu Server 的吗?

这是否意味着我必须使用创建我自己的基础图像scratch

答案1

问题是关于 Ubuntu Server 的,但所有答案和讨论都是关于 Ubuntu Desktop 的。所以我会回答这两个问题,但首先讨论 Ubuntu Desktop。最后,(和不推荐用于临时容器大多数容器应该Docker 的最佳实践,但是也有例外)您可以在容器上安装 Ubuntu Desktop 和 Ubuntu Server 并运行它。


笔记:如果您只是对容器进行实验,则可以添加--rm标志,通过在容器运行后自动删除容器,防止主机存储膨胀。

docker run --rm -it ubuntu

Ubuntu 桌面容器

正在运行的容器

这是一个相当大的容器!~1.5Gb

如果你运行:

docker run -it ubuntu

然后,在容器中:

> apt-get update && apt-get install -y ubuntu-desktop

您将有效地下载 Ubuntu 桌面

Ubuntu 桌面版 Dockerfile

可以创建一个 Dockerfile:

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop

然后构建它:

docker build -t ubuntu-desktop .

并运行它:

docker run -it ubuntu-desktop

Ubuntu Server 容器

正在运行的容器

docker run -it ubuntu

从集装箱码头出发:

apt-get update && apt-get install -y ubuntu-server

Ubuntu 服务器的 Dockerfile

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server

构建:

docker build -t ubuntu-server .

运行:

docker run -it ubuntu-server

Ubuntu 桌面和服务器容器

正在运行的容器:

docker run -it ubuntu

集装箱码头:

apt-get update && apt-get install -y ubuntu-server ubuntu-desktop

Ubuntu 服务器/桌面版 Dockerfile

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server ubuntu-desktop

构建:

docker build -t ubuntu-server-desktop .

运行:

docker run -it ubuntu-server-desktop

答案2

您可以测试它,首先在 Ubuntu 容器中运行 bash:

docker run -it ubuntu /bin/bash

-i,--interactive 即使未连接,也保持 STDIN 开放

-t--tty 分配一个伪 TTY

然后运行以下命令检查是否ubuntu-desktop已安装:

dpkg -l ubuntu-desktop

答案3

我所能找到的只是Ubuntu 桌面版官方 Docker 镜像在 Docker Hub 上。

该页面没有任何地方表明它是 Ubuntu桌面图像。无论如何,这没有意义,因为您(通常)不会在 Docker 容器中运行桌面环境。

答案4

在我看来,ubuntu 桌面大部分只是ubuntu server+ desktop environment。OP 指出的官方 repo 不包含任何带有桌面环境的图像,因此您应该将它们视为服务器版本。

对于极简主义者,我目前将其用于gcr.io/google_containers/ubuntu-slim:0.14我的个人项目。这是一个极简但功能齐全的 ubuntu 映像,大小仅为官方映像的 1/3。

相关内容