Jedyne, co mogłem znaleźć, to oficjalny obraz Dockera dla Ubuntu Desktop w Docker Hub. Czy nie ma takiego dla Ubuntu Server?
Czy to oznacza, że musiałbym stworzyć własny obraz bazowyscratch
?
Jedyne, co mogłem znaleźć, to oficjalny obraz Dockera dla Ubuntu Desktop w Docker Hub. Czy nie ma takiego dla Ubuntu Server?
Czy to oznacza, że musiałbym stworzyć własny obraz bazowyscratch
?
Odpowiedzi:
Jedyne, co mogłem znaleźć, to oficjalny obraz Dockera dla Ubuntu Desktop w Docker Hub.
Nigdzie ta strona nie mówi, że jest to obraz Ubuntu Desktop . W każdym razie nie miałoby to sensu, ponieważ (ogólnie) nie uruchamiasz środowiska pulpitu w kontenerze Docker.
Możesz to przetestować, najpierw uruchom bash w kontenerze Ubuntu przez:
docker run -it ubuntu /bin/bash
-i
,--interactive
STDIN powinien być otwarty, nawet jeśli nie jest podłączony
-t
,--tty
Przydziel pseudo-TTY
Następnie uruchom następujące polecenie, aby sprawdzić, czy ubuntu-desktop
jest zainstalowane:
dpkg -l ubuntu-desktop
Pytanie dotyczyło Ubuntu Server, ale wszystkie odpowiedzi i dyskusje dotyczyły Ubuntu Desktop. Odpowiem więc na oba pytania, ale najpierw zajmę się Ubuntu Desktop. Wreszcie (i prawdopodobnie nie jest to zalecane dla efemerycznego kontenera , a większość kontenerów powinna być efemeryczna zgodnie z najlepszymi praktykami Dockera , ale hej, są wyjątki.) Możesz zainstalować Ubuntu Desktop i Ubuntu Server na kontenerze i uruchomić go.
UWAGA: Możesz dodać--rm
flagę, aby zapobiec rozdęciu pamięci hosta, automatycznie usuwając pojemniki po ich uruchomieniu, jeśli tylko z nimi eksperymentujesz.
docker run --rm -it ubuntu
To całkiem duży pojemnik! ~ 1,5 Gb
Jeśli uruchomisz:
docker run -it ubuntu
Następnie w pojemniku:
> apt-get update && apt-get install -y ubuntu-desktop
Skutecznie pobierzesz system Ubuntu Desktop
Można utworzyć plik Docker:
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
Następnie zbuduj:
docker build -t ubuntu-desktop .
I uruchom to:
docker run -it ubuntu-desktop
docker run -it ubuntu
Z terminala kontenerowego:
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
Zbuduj to:
docker build -t ubuntu-server .
Uruchom:
docker run -it ubuntu-server
docker run -it ubuntu
Terminal kontenerowy:
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
Zbuduj to:
docker build -t ubuntu-server-desktop .
Uruchom:
docker run -it ubuntu-server-desktop.
Zaczynają od plików cloudimg jako podstawy.
Jeśli przejrzysz manifesty dla obrazów w chmurze tutaj , wygląda to tak, jakby to był podstawowy obraz wdrożenia serwera.
IMHO, pulpit Ubuntu to w większości tylko ubuntu server
+ desktop environment
. Wskazany oficjalny PO repo nie zawiera żadnych obrazów ze środowiskiem graficznym, dlatego powinieneś traktować je jak wersje serwerowe.
Dla minimalistów, obecnie używam gcr.io/google_containers/ubuntu-slim:0.14
do mojego osobistego projektu. Jest to minimalny, ale w pełni funkcjonalny obraz ubuntu z jedynie 1/3 wielkości tych oficjalnych zdjęć.
W celu dalszego wyjaśnienia odpowiedzi ghanbari. Oto wynik poleceń. Zdecydowanie brak pakietów dotyczących pulpitu.
> 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
.
Aby uruchomić określoną wersję Ubuntu za pomocą Dockera, uruchom następujące polecenie:
docker run -it ubuntu:16.04 /bin/bash
16.04 to numer wersji. Jeśli pominiesz numer wersji, najnowszy obraz zostanie pobrany z repozytorium. Nie musisz pobierać całego Dockerfile i tworzyć go od zera.