DockerでGUI付きのUbuntuを起動する!

Docker

以前、DockerでUbuntuコンテナを立ち上げましたが、Linuxコマンドに慣れているひとでないと、使いづらいですよね。

なので、Ubuntuの画面(GUI)が欲しい。

というわで、今回は以下のように、Dockerコンテナで起動したUbuntuのGUIをローカルに表示させてみました。

といっても、方法は非常に簡単です。

結論から言えば、オフィシャルイメージではありませんが、Docker HubにGUI付きのUbuntuイメージがありましたので、それを立ち上げるだけです。

GUI付きUbuntuの起動

Docker Hubに、GUI付きUbuntuイメージがあります。

dorowu/ubuntu-desktop-lxde-vnc – Docker Image | Docker Hub

この情報を元にすれば、コンテナを立ち上げるには、Docker上で以下を実行すればOKです。

docker run -d -p 8080:80 dorowu/ubuntu-desktop-lxde-vnc

コンテナが立ち上がっているかどうかは、docker psなどのコマンドか、アタッチすれば確認できるでしょう。

後は、ローカルのブラウザ(chromeとかMicrosoft Edgeとか)で、「http://127.0.0.1:8080/」のurlで開けばOKです。

そうすれば、UbuntuのGUIが表示されると思います。

コンテナの中身としてはUbuntu 20.04.2なのですが、GUIとしてはよく見る紫色の画面とは違っていますね。どうやら、『LXDE』というデスクトップ環境らしいです。

まぁとにかく、これでGUIでコンテナを操作できるようになりました。

もし、ブラウザでエラーが出るのなら、ローカルマシンのファイアウォールの設定が有効になってしまっているのかもしれません。

docker-composeで起動する

個人的にはあまりdockerコマンドのみで毎回立ち上げるのは好きではないので、環境条件をdocker-composeファイルに閉じ込めます。

ディレクトリ構成

Ubuntu-env
    ├─ docker-compose.yml
    └─ gui
        └─ Dockerfile

Dockerfile

FROM dorowu/ubuntu-desktop-lxde-vnc

docker-copose.yml

version: '3'

services:
  ubuntu-gui:
    build: ./gui
    container_name: 'ubuntu-gui'
    tty: true
    ports:
      - 8080:80

ポイントは、docker-compose.ymlでポートを指定することです。「ローカル側のポート:コンテナのポート」です。

次に、docker-composeでコンテナを立ち上げます。

・ビルド

docker-compose build

・起動

docker-compose up -d

最後に、先ほどと同様、ブラウザから「http://127.0.0.1:8080/」でGUIを開きます。

コンテナを停止するときは、

docker-compose stop

で良いでしょう。このとき、ブラウザからの接続はできなくなるはずです。

コメント

タイトルとURLをコピーしました