ubuntu22.04のDockerにwineを導入し、Windowsアプリをrdp(vnc)経由で動作させる手順その2 (solarkennedy/wine-x11-novnc-docker)

前回に引き続き、古いWindowsアプリ(Kinetic BaseStation)をDockerで動作させました。

普段はmacOSを利用しているのですが、Docker経由でWindowsアプリケーションを利用できました。

今回はrdpではなく、「noVNC」のコンテナを利用してみました。(solarkennedy/wine-x11-novnc-docker)

結論:
solarkennedy/wine-x11-novnc-dockerのほうが単機能だが容量が少なく、起動が早い。
ブラウザのみで動作するメリットがあるが、しnoVNCの再接続はたびたび不安定になる。

ディスクサイズ:
scottyhardy/docker-wine : 3.1GB
solarkennedy/wine-x11-novnc-docker: 2.5GB

必要ソフト:
scottyhardy/docker-wine: リモートデスクトップクライアント
solarkennedy/wine-x11-novnc-docker: ブラウザー(Chrome/Safariなど)

起動時間:
scottyhardy/docker-wine: 10秒以上(Docker Host ServerのCPUはCeleron)
solarkennedy/wine-x11-novnc-docker: ほぼ即時起動

パスワード:
scottyhardy/docker-wine: 任意に設定できる
solarkennedy/wine-x11-novnc-docker: なし(LANのみで利用すべき)

デスクトップ環境:
scottyhardy/docker-wine: 最低限の環境
solarkennedy/wine-x11-novnc-docker wine: 動作に必要な機能のみ

以下構築手順です。

手順1: Docker上にnovnc_wineを動作させる

# ubuntuにログインし、作業フォルダの作成を行い、作業フォルダへ移動
cd
mkdir noVNC
cd noVNC

# 以下のように起動します(ポートは28080、ホストの$HOME/tempをコンテナの/tmpにマップ)
# この内容でシェルスクリプトを作成しました。
# 初回起動時はwineの初期設定が行われます。
docker run -d --rm -p 28080:8080\
       	--name solarkennedy_novnc_wine\
       	-v=$HOME/temp:/tmp\
       	solarkennedy/wine-x11-novnc-docker

手順2:Windowsアプリ(BaseStation)の導入

# 以下のページからソフトをダウンロード(2023年4月現在、ソフトの配布は終了しています)
# ホストの/tmpにBaseStationV168CD.zipがある前提です
cd /tmp

# アーカイブを解凍
unzip BaseStationV168CD.zip

# BaseStationの起動
ブラウザで以下のアドレスを開き、エクスプローラから/tmpの BaseStation.exeをクリック

以上の作業でWindowsアプリケーションがubuntuのDocker(wine)で動作しました。

以前の手順より簡単に構築できました。

BaseStation.exeを起動するには、以下の手順が必要です。

・Docker上で構築したので、作成したコンテナのイメージを適宜保存してください。

・「BaseStationV168CD.zip」と「ftd2xx.dll」の入手がポイントになります。

ネット上のアーカイブサイトに残っている可能性がありますので、頑張って探してみてください。

(このほか、port:10001でBaseStationと通信できるADS-Bの受信機が別途必要です)

動作イメージ:ブラウザで動作します。

参考)

動作したコンテナのイメージ化処理

# 書式
# docker commit -a authorname ContainerID image-name:version 

# 実行
docker commit -a author 7e073e0b9c15 basestation/novnc:1.0

# 確認
docker images
REPOSITORY          TAG    IMAGE ID       CREATED          SIZE
basestation/novnc   1.0    ede903568557   3 seconds ago    2.5GB

コンテナから起動

docker run -it -d -p 28080:8080 --name new.container.name basestation/novnc:1.0

イメージからコンテナを作る

docker run -it -name basestation_novnc2 basestation/novnc:1.0

自分メモ:次に試したいDockerイメージ Ubuntu 20.04/18.04/16.04 Multi User Remote Desktop Server

参考にさせていただきました。有用な情報をありがとうございます。

tuboneです。前回はDockerのnode.jsイメージを利用してnode.jsが動くコンテナを作り、そこからhubotを導入しました。Dockerでは通常、イメージからコンテナを生成、起動…

Docker-wine配布元