Todo lo que pude encontrar es una imagen oficial de Docker para Ubuntu Desktop en Docker Hub. ¿No hay uno para Ubuntu Server?
¿Eso significa que tendría que crear mi propia imagen base usandoscratch
?
Todo lo que pude encontrar es una imagen oficial de Docker para Ubuntu Desktop en Docker Hub. ¿No hay uno para Ubuntu Server?
¿Eso significa que tendría que crear mi propia imagen base usandoscratch
?
Respuestas:
Todo lo que pude encontrar es una imagen oficial de Docker para Ubuntu Desktop en Docker Hub.
En ninguna parte esa página dice que es una imagen de escritorio de Ubuntu . De todos modos, eso no tendría sentido porque (en general) no ejecuta un entorno de escritorio en un contenedor Docker.
Puede probarlo, primero ejecute bash en el contenedor de Ubuntu de la siguiente manera:
docker run -it ubuntu /bin/bash
-i
,--interactive
Mantenga STDIN abierto incluso si no está conectado
-t
,--tty
Asignar un pseudo-TTY
Luego ejecute el siguiente comando para verificar si ubuntu-desktop
está instalado:
dpkg -l ubuntu-desktop
La pregunta era sobre Ubuntu Server, pero todas las respuestas y discusiones eran sobre Ubuntu Desktop. Entonces responderé a ambas, pero primero me dirijo a Ubuntu Desktop. Finalmente, (y probablemente no se recomienda para un contenedor efímero , y la mayoría de los contenedores deberían ser efímeros según las mejores prácticas de Docker , pero bueno, hay excepciones). Puede instalar Ubuntu Desktop y Ubuntu Server en un contenedor y ejecutarlo.
NOTA: puede agregar el--rm
indicador para evitar que el almacenamiento de su host se hinche eliminando automáticamente los contenedores después de que se ejecuten, si solo está experimentando con ellos.
docker run --rm -it ubuntu
¡Este es un contenedor bastante grande! ~ 1.5Gb
Si tu corres:
docker run -it ubuntu
Luego, en el contenedor:
> apt-get update && apt-get install -y ubuntu-desktop
Efectivamente descargará el escritorio de Ubuntu
Se puede hacer un Dockerfile:
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
Luego compílalo:
docker build -t ubuntu-desktop .
Y ejecútalo:
docker run -it ubuntu-desktop
docker run -it ubuntu
Desde la terminal de contenedores:
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
Constrúyelo:
docker build -t ubuntu-server .
Ejecutarlo:
docker run -it ubuntu-server
docker run -it ubuntu
La terminal del contenedor:
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
Constrúyelo:
docker build -t ubuntu-server-desktop .
Ejecutarlo:
docker run -it ubuntu-server-desktop.
Comienzan con los archivos cloudimg como base.
Si observa los manifiestos para imágenes en la nube aquí , parece que es la imagen base de implementación del servidor.
En mi humilde opinión, el escritorio de ubuntu es principalmente solo ubuntu server
+ desktop environment
. El OP oficial de repositorio señalado no contiene ninguna imagen con el entorno de escritorio, por lo que solo debe tratarlas como las versiones del servidor.
Para minimalista, actualmente lo uso gcr.io/google_containers/ubuntu-slim:0.14
para mi proyecto personal. Es una imagen ubuntu mínima pero totalmente funcional con solo 1/3 del tamaño de esas imágenes oficiales.
Para aclarar aún más la respuesta ghanbari. Aquí está la salida de los comandos. Definitivamente no hay paquetes con respecto al escritorio.
> 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
.
Para ejecutar una versión específica de Ubuntu con Docker, ejecute este comando:
docker run -it ubuntu:16.04 /bin/bash
16.04 es el número de versión. Si omite el número de versión, la última imagen se seleccionará del repositorio. No necesita obtener todo el Dockerfile y crearlo desde cero.