Tudo o que pude encontrar é uma imagem oficial do Docker para o Ubuntu Desktop no Docker Hub. Não existe um para o Ubuntu Server?
Isso significa que eu teria que criar minha própria imagem base usandoscratch
?
Tudo o que pude encontrar é uma imagem oficial do Docker para o Ubuntu Desktop no Docker Hub. Não existe um para o Ubuntu Server?
Isso significa que eu teria que criar minha própria imagem base usandoscratch
?
Respostas:
Tudo o que pude encontrar é uma imagem oficial do Docker para o Ubuntu Desktop no Docker Hub.
Em nenhum lugar a página diz que é uma imagem do Ubuntu Desktop . De qualquer forma, isso não faria sentido porque você (geralmente) não executa um ambiente de área de trabalho em um contêiner do Docker.
Você pode testá-lo, primeiro execute o bash no contêiner Ubuntu:
docker run -it ubuntu /bin/bash
-i
,--interactive
Mantenha STDIN abrir mesmo que não seja anexado
-t
,--tty
Aloque um pseudo-TTY
Em seguida, execute o seguinte comando para verificar se ubuntu-desktop
está instalado:
dpkg -l ubuntu-desktop
A pergunta era sobre o Ubuntu Server, mas todas as respostas e discussões eram sobre o Ubuntu Desktop. Então, eu vou responder as duas, mas abordar o Ubuntu Desktop primeiro. Finalmente, (e provavelmente não é recomendado para um contêiner efêmero , e a maioria dos contêineres deve ser efêmera pelas melhores práticas do Docker , mas ei, há exceções.) Você pode instalar o Ubuntu Desktop e o Ubuntu Server em um contêiner e executá-lo.
NOTA: Você pode adicionar o--rm
sinalizador para impedir que o armazenamento do seu host fique inchado, excluindo automaticamente os contêineres depois que eles são executados, se você estiver apenas experimentando.
docker run --rm -it ubuntu
Este é um recipiente bem grande! ~ 1.5Gb
Se você executar:
docker run -it ubuntu
Em seguida, no contêiner:
> apt-get update && apt-get install -y ubuntu-desktop
Você efetivamente baixará o Ubuntu Desktop
Um Dockerfile pode ser criado:
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
Em seguida, construa-o:
docker build -t ubuntu-desktop .
E execute:
docker run -it ubuntu-desktop
docker run -it ubuntu
Do terminal de contêineres:
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
Construa:
docker build -t ubuntu-server .
Executá-lo:
docker run -it ubuntu-server
docker run -it ubuntu
O terminal do contêiner:
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
Construa:
docker build -t ubuntu-server-desktop .
Executá-lo:
docker run -it ubuntu-server-desktop.
Eles começam com os arquivos cloudimg como base.
Se você olhar para os manifestos para imagens nuvem aqui parece que é a imagem da base de implantação do servidor.
IMHO, o desktop ubuntu é basicamente apenas ubuntu server
+ desktop environment
. O OP oficial do repositório apontado não contém nenhuma imagem com o ambiente da área de trabalho; portanto, você deve apenas tratá-las como as versões do servidor.
Para minimalista, atualmente uso gcr.io/google_containers/ubuntu-slim:0.14
no meu projeto pessoal. É uma imagem mínima, mas em pleno funcionamento, do ubuntu, com apenas 1/3 do tamanho dessas imagens oficiais.
Para esclarecer melhor a resposta ghanbari. Aqui está a saída dos comandos. Definitivamente não há pacotes em relação à área de trabalho.
> 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 executar uma versão específica do Ubuntu usando o Docker, execute este comando:
docker run -it ubuntu:16.04 /bin/bash
16.04 é o número da versão. Se você pular o número da versão, a imagem mais recente será selecionada no repositório. Você não precisa obter o Dockerfile inteiro e criá-lo do zero.