Ubuntu 服务器的官方 Docker 映像?

its*_*_me 21 server docker

我所能找到的只是Docker Hub 上Ubuntu Desktop官方 Docker 镜像。没有一个适用于 Ubuntu Server 的吗?

这是否意味着,我必须使用scratch?

Non*_*714 18

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


注意:--rm如果您只是尝试使用容器,您可以添加该标志,通过在容器运行后自动删除容器来防止主机的存储膨胀。

docker run --rm -it ubuntu
Run Code Online (Sandbox Code Playgroud)

Ubuntu 桌面容器

正在运行的容器

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

如果你运行:

docker run -it ubuntu
Run Code Online (Sandbox Code Playgroud)

然后,在容器中:

> apt-get update && apt-get install -y ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

您将有效地下载 Ubuntu 桌面

用于 Ubuntu 桌面的 Dockerfile

可以制作一个 Dockerfile:

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

然后构建它:

docker build -t ubuntu-desktop .
Run Code Online (Sandbox Code Playgroud)

并运行它:

docker run -it ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

Ubuntu 服务器容器

正在运行的容器

docker run -it ubuntu
Run Code Online (Sandbox Code Playgroud)

从集装箱码头:

apt-get update && apt-get install -y ubuntu-server
Run Code Online (Sandbox Code Playgroud)

用于 Ubuntu 服务器的 Dockerfile

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server
Run Code Online (Sandbox Code Playgroud)

构建它:

docker build -t ubuntu-server .
Run Code Online (Sandbox Code Playgroud)

运行:

docker run -it ubuntu-server
Run Code Online (Sandbox Code Playgroud)

Ubuntu 桌面和服务器容器

一个正在运行的容器:

docker run -it ubuntu
Run Code Online (Sandbox Code Playgroud)

集装箱码头:

apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

用于 Ubuntu 服务器/桌面的 Dockerfile

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

构建它:

docker build -t ubuntu-server-desktop .
Run Code Online (Sandbox Code Playgroud)

运行:

docker run -it ubuntu-server-desktop
Run Code Online (Sandbox Code Playgroud)


gha*_*ari 14

您可以测试它,首先通过以下方式在 Ubuntu 容器中运行 bash:

docker run -it ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)

-i,--interactive 即使没有连接,也要保持 STDIN 打开

-t,--tty 分配一个伪 TTY

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

dpkg -l ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)


And*_*hen 11

我所能找到的只是Docker Hub 上Ubuntu Desktop官方 Docker 镜像

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

  • Andreas 和@markkirby - 是的,现在看起来很明显;我之前没有想到。我认为这是基于描述的桌面发行版,“什么是 Ubuntu?-- _Ubuntu 是基于 Debian 的 Linux 操作系统,以 Unity 作为其默认桌面环境。_” (4认同)