というわけで、以下のようなDockerfileを書くと、VNCでアクセスできるようになります。RDPを最初に試しましたが、Rootless dockerでは動かせませんでした。
apt-getでインストールしているパッケージは、人によっては不要なものも混じっているので、必要に応じて編集します。
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y \
xfce4 xfce4-goodies \
xfce4-terminal \
dbus-x11 \
wget \
net-tools \
locales \
tzdata \
ibus \
ibus-mozc \
language-pack-ja-base \
language-pack-ja \
fonts-noto-cjk \
fonts-noto-color-emoji \
nano \
firefox \
tigervnc-standalone-server tigervnc-common \
x11-xserver-utils \
&& rm -rf /var/lib/apt/lists/*
RUN locale-gen ja_JP.UTF-8
ENV LANG=ja_JP.UTF-8
ENV LANGUAGE=ja_JP:ja
ENV LC_ALL=ja_JP.UTF-8
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&& echo 'Asia/Tokyo' > /etc/timezone
# VNC
EXPOSE 5901
# Set up VNC
USER ubuntu
RUN mkdir -p /home/ubuntu/.vnc && \
echo "[ここにVNCの接続パスワードを記入]" | vncpasswd -f > /home/ubuntu/.vnc/passwd && \
chmod 600 /home/ubuntu/.vnc/passwd && \
bash -c "( \
echo '#!/bin/bash' && \
echo unset SESSION_MANAGER && \
echo unset DBUS_SESSION_BUS_ADDRESS && \
echo xrdb /home/ubuntu/.Xresources && \
echo export GTK_IM_MODULE=ibus && \
echo export QT_IM_MODULE=ibus && \
echo export XMODIFIERS=@im=ibus && \
echo dbus-launch --exit-with-session ibus-daemon --xim --daemonize && \
echo exec startxfce4 ) > /home/ubuntu/.vnc/xstartup && \
chmod +x /home/ubuntu/.vnc/xstartup"
CMD ["vncserver", "-localhost", "no", "-fg", "-geometry", "1600x900", "-depth", "24", ":1"]
次に
docker build -t ubuntu24-gui .のようにしてビルドします。 できあがったら、
docker run -p 5901:5901 ubuntu24-guiで実行します。 これで接続できるようになっているので、VNCのクライアントを使うと接続できます。 Remminaを使う場合は、ユーザー名をubuntuに、ユーザーパスワードをDockerfileに書いたVNCのパスワードにすると接続できます。 ローカルホストからのみアクセスできるようにするのであれば
docker run -p 127.0.0.1:5901:5901 ubuntu24-guiで実行します。 また、ローカルホストのみに限定した上で、sshトンネルでアクセスするにはRemminaのSSHトンネルの設定をします。 「ループバックアドレス経由のトンネル」にチェックを入れて、SSHの認証情報を設定すれば接続できます。
0 件のコメント :
コメントを投稿