Ich konnte nur ein offizielles Docker-Image für Ubuntu Desktop auf Docker Hub finden. Gibt es nicht eine für Ubuntu Server?
Heißt das, ich müsste mein eigenes Basis-Image mit erstellenscratch
?
Ich konnte nur ein offizielles Docker-Image für Ubuntu Desktop auf Docker Hub finden. Gibt es nicht eine für Ubuntu Server?
Heißt das, ich müsste mein eigenes Basis-Image mit erstellenscratch
?
Antworten:
Ich konnte nur ein offizielles Docker-Image für Ubuntu Desktop auf Docker Hub finden.
Nirgendwo sagt diese Seite aus, dass es sich um ein Ubuntu Desktop- Image handelt. Auf jeden Fall wäre das nicht sinnvoll, da Sie (im Allgemeinen) keine Desktop-Umgebung in einem Docker-Container ausführen.
Sie können es testen, indem Sie zuerst bash im Ubuntu-Container ausführen:
docker run -it ubuntu /bin/bash
-i
,--interactive
STDIN offen halten, auch wenn es nicht angebracht ist
-t
,--tty
Ordnen Sie ein Pseudo-TTY zu
Führen Sie dann den folgenden Befehl aus, um zu überprüfen, ob ubuntu-desktop
installiert ist:
dpkg -l ubuntu-desktop
Die Frage betraf Ubuntu Server, aber alle Antworten und Diskussionen betrafen Ubuntu Desktop. Also werde ich beides beantworten, aber zuerst Ubuntu Desktop ansprechen. Schließlich (und wahrscheinlich ein nicht für einen ephemeren Behälter empfohlen und die meisten Behälter pro kurzlebig sein Docker Best Practices , aber hey, es gibt Ausnahmen.) Sie Ubuntu Desktop und Ubuntu Server auf einem Container installieren und ausführen.
ANMERKUNG: Sie können das--rm
Flaghinzufügen, um zu verhindern, dass der Speicher Ihres Hosts aufgebläht wird, indem Container nach ihrer Ausführung automatisch gelöscht werden, wenn Sie nur mit ihnen experimentieren.
docker run --rm -it ubuntu
Das ist ein ziemlich großer Behälter! ~ 1,5 GB
Wenn du läufst:
docker run -it ubuntu
Dann im Behälter:
> apt-get update && apt-get install -y ubuntu-desktop
Sie werden den Ubuntu Desktop effektiv herunterladen
Ein Dockerfile könnte erstellt werden:
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
Dann baue es:
docker build -t ubuntu-desktop .
Und führe es aus:
docker run -it ubuntu-desktop
docker run -it ubuntu
Vom Containerterminal:
apt-get update && apt-get install -y ubuntu-server
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server
Baue es:
docker build -t ubuntu-server .
Starte es:
docker run -it ubuntu-server
docker run -it ubuntu
Das Containerterminal:
apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
Baue es:
docker build -t ubuntu-server-desktop .
Starte es:
docker run -it ubuntu-server-desktop.
Sie beginnen mit den cloudimg-Dateien als Basis.
Wenn Sie sich die Manifeste für Cloud-Images hier ansehen , sieht es so aus, als wäre es das Server Deployment-Basis-Image.
IMHO ist Ubuntu Desktop meist nur ubuntu server
+ desktop environment
. Das offizielle Repo-OP, auf das verwiesen wird, enthält keine Images für die Desktop-Umgebung, daher sollten Sie sie einfach als Serverversionen behandeln.
Als Minimalist verwende ich derzeit gcr.io/google_containers/ubuntu-slim:0.14
für mein persönliches Projekt. Es ist ein minimales, aber voll funktionsfähiges Ubuntu-Bild mit nur 1/3 der Größe dieser offiziellen Bilder.
Um Ghanbari Antwort weiter zu klären. Hier ist die Ausgabe der Befehle. Auf jeden Fall keine Pakete in Bezug auf Desktop.
> docker pull ubuntu:latest
> docker run -t -i ubuntu /bin/bash
> dpkg -l ubuntu-desktop
> dpkg-query: no packages found matching ubuntu-desktop
apt-get update
.
Führen Sie den folgenden Befehl aus, um eine bestimmte Ubuntu-Version mit Docker auszuführen:
docker run -it ubuntu:16.04 /bin/bash
16.04 ist die Versionsnummer. Wenn Sie die Versionsnummer überspringen, wird das neueste Image aus dem Repository ausgewählt. Sie müssen nicht das gesamte Dockerfile herunterladen und es von Grund auf neu erstellen.