Em princípio é muito simples.
Vou demonstrar como rodar o
xterm em um container, como exemplo usarei uma imagem oficial do
CentOS.
Embora a instalação do
Xorg e do
xterm possa ser feita manualmente como em qualquer máquina, vou aproveitar a oportunidade para citar o comando "
docker build" e
Dockerfile.
Primeiramente crie um diretório:
mkdir SeuDockerfile
cd SeuDockerfile
Dentro desse diretório crie o seu "Dockerfile" (exatamente com essa sintaxe com "D" maiúsculo) com o seguinte conteúdo:
FROM centos:latest
MAINTAINER capitainkurn
LABEL Description="GUI container"
RUN yum update -y && \
yum install xorg-x11-server-Xorg xterm -y
Agora ainda dentro desse diretório faça o build da imagem.
docker build -t centosgui:latest .
Obs.: com "." (ponto) no fim da linha mesmo.
Após o término execute o seu container:
run -it --rm -e DISPLAY=${DISPLAY} --net host --hostname gui0 --name gui0 -v "$HOME/.Xauthority:/root/.Xauthority:rw" -w ${HOME} centosgui:latest
Em seguida execute o
xterm e ele abrirá em seu display padrão.
Você ainda poderá executá-lo via entrypoint com o container em background.
docker run -d --rm -e DISPLAY=${DISPLAY} --net host --hostname gui0 --name gui0 -v "$HOME/.Xauthority:/root/.Xauthority:rw" -w ${HOME} --entrypoint "/bin/xterm" centosgui:latest
Lembrando que o servidor X da máquina hospedeira deverá estar em modo de escuta TCP e com acesso liberado. No CentOS se o X estiver sendo iniciado pelo systemd graphical.target, edite o arquivo
/etc/gdm/custom.conf e acrescente a seguintes linhas:
[security]
DisallowTCP=false
Se estiver sendo iniciado via xinit, edite o arquivo /bin/startx e altere a linha:
de:
defaultserverargs="-nolisten tcp"
para:
defaultserverargs=""
e finalmente libere acesso ao X com o comando:
xhost +
Nenhum comentário foi encontrado.