このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:ブラウザからUbuntuを操作!GUI対応コンテナの簡単構築

ブラウザからUbuntuを操作!GUI対応コンテナの簡単構築

今回は、ブラウザから直接Ubuntuを操作できるGUI対応コンテナの作り方を紹介します。
Dockerを使えば、複雑な設定なしで“Ubuntuのデスクトップ環境”をすぐに試せるんです✨

使用するイメージ:dorowu/ubuntu-desktop-lxde-vnc

今回使用するのは、Docker Hubで公開されている
dorowu/ubuntu-desktop-lxde-vnc イメージです。

このイメージは、Ubuntu上にLXDEという軽量デスクトップ環境を搭載し、
さらにVNCサーバーWebブラウザアクセス機能が最初から組み込まれています。

つまり、コンテナを起動するだけで、
ブラウザからUbuntuのGUI(デスクトップ画面)を開けるんです。

項目説明
ベースOSUbuntu Linux
デスクトップ環境LXDE(軽量デスクトップ)
アクセス方式Webブラウザ経由(VNC)
特徴軽量・すぐ使える・学習用に最適
Docker Hub URLhttps://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc

イメージの特徴をもう少し詳しく

① Ubuntuベース

Ubuntuは最も人気のあるLinuxディストリビューションの1つ。
そのため学習資料や情報が豊富で、Linux初心者でも安心して使えます。

② LXDEデスクトップ環境

LXDE(Lightweight X11 Desktop Environment)は、軽快な操作感が特徴。
古いPCやリソースが少ない環境でもスムーズに動作します。

③ VNCサーバー内蔵

VNCとはリモートデスクトップ接続の仕組みです。
このイメージではVNCサーバーが組み込まれているので、
ブラウザからアクセスするだけでデスクトップ操作が可能になります。

④ カスタマイズ自由

Dockerfileを使えば、
追加パッケージをインストールしたり、設定を変更することも簡単です。

作業前のクリーンアップ

環境を新しく整えるために、まずDockerの不要なデータを削除しておきます。

docker system prune -a --volumes

このコマンドを実行すると、停止中のコンテナや未使用のイメージ、
不要なネットワークやボリュームをすべて削除してくれます。

オプション説明
-a停止中のコンテナや未使用のイメージを削除
--volumes未使用のボリュームも削除対象に含める。

実行結果

PS C:\Users\joeac> docker system prune -a --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all anonymous volumes not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y

💡 GUI操作が好きな方は、Docker Desktop からも同様に削除できます。
コマンドに慣れていない方はこちらの方法もおすすめです。

作業ディレクトリの作成

次に、プロジェクト用のフォルダを作ります。
PowerShellを開き、以下のコマンドを順に実行します👇

cd desktop/docker
mkdir gui-ubuntu1
cd gui-ubuntu1
コマンド説明
cd desktop/dockerDocker用フォルダへ移動
mkdir gui-ubuntu1新しい作業フォルダを作成
cd gui-ubuntu1作成したフォルダに移動

実行結果

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir gui-ubuntu1

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/26    13:45                gui-ubuntu1

PS C:\Users\joeac\Desktop\docker> cd gui-ubuntu1
PS C:\Users\joeac\Desktop\docker\gui-ubuntu1>

compose.yaml の作成

ここで、Docker Composeを使って設定ファイルを作成します。

code compose.yaml

VS Codeが起動したら、次の内容を入力して保存します👇

services:
  ubuntu-gui1:
    image: dorowu/ubuntu-desktop-lxde-vnc
    container_name: ubuntu-gui1
    tty: true
    ports:
      - 8080:80

定義内容を解説

キー説明
services複数のコンテナ定義をまとめるセクション
ubuntu-gui1サービス名(自由に変更可)
imagedorowu/ubuntu-desktop-lxde-vnc使用するDockerイメージを指定
container_nameubuntu-gui1コンテナ名を明示的に設定
ttytrueターミナル接続を有効にする。
ports8080:80ホストの8080番ポートをコンテナの80番にマッピング

この設定により、
ブラウザで http://localhost:8080 にアクセスすると、
コンテナのWeb VNC(デスクトップ画面)に接続できます。

コンテナの作成と起動

それでは、Ubuntu GUIコンテナを起動してみましょう!

docker compose up -d
オプション説明
upcompose.yaml に基づいてコンテナを起動
-dバックグラウンド(デタッチド)モードで実行

起動が完了すると、ターミナルに次のようなメッセージが表示されます👇

(省略) 
✔ Container ubuntu-gui1        Started 

これでUbuntu GUI環境が起動しました!🎉

ブラウザでUbuntuを開く

ブラウザのアドレスバーに次のURLを入力します👇

http://localhost:8080/

すると、UbuntuのLXDEデスクトップ画面が表示されます。

マウス操作やアプリの起動など、すべてブラウザ上で行えます!

LXTerminalを開く(ターミナル操作)

UbuntuのGUI上で「LXTerminal」を起動します。
このターミナルは、通常のUbuntuターミナルと同じようにコマンド操作ができます。

Ubuntuのバージョンを確認するには、次のコマンドを実行してみましょう👇

cat /etc/os-release

結果は以下のように表示されます。

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"

このイメージはUbuntu 20.04 LTSをベースにしていることがわかります。
少し古いバージョンですが、学習や実験用としては十分使いやすいです✨

まとめ

ここまでの手順で、
「ブラウザからUbuntuを操作できるGUIコンテナ」が完成しました。

ステップ作業内容結果
docker-ubuntu-vnc-desktop イメージの説明GUI対応のUbuntu環境を理解
compose.yaml 作成設定をDocker Composeで管理
コンテナ起動Ubuntu GUIをブラウザで表示可能
バージョン確認Ubuntu 20.04 LTS環境で動作確認完了

これで完了です!
Dockerを使えば、数行の設定でUbuntuデスクトップをブラウザ上に再現できます。
学習用やテスト環境構築にぜひ活用してみてください😊