【Docker】公式イメージでUbuntuデスクトップ構築手順(MacBookAir M 1チップ)


DockerでUbuntuの公式イメージを使用してデスクトップを表示するまでの手順を作成しました。

今回のUbuntuデスクトップはUbuntu標準のデスクトップでは動かなかったので、オープンソースの「lxde」というデスクトップを使用して、リモートデスクトップできるまでを実施します。

「Docker」Ubuntu公式イメージでデスクトップ構築までの設定手順

以下では、Dockerイメージダウンロードから起動、デスクトップインストールまでの流れとなります。
Docker公式イメージこちらです。
https://hub.docker.com/_/ubuntu

「Ubuntu」イメージダウンロード

以下コマンドで「Ubuntu」のイメージをダウンロードします。

$ docker pull ubuntu

イメージの最新バージョン(latest)がダウンロードされたことが確認でいます。

$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
ubuntu       latest    aee70e576257   8 days ago     65.7MB


「Ubuntu」コンテナ起動

次に「Ubuntu」コンテナを起動します。
コンテナ名は「my-ubuntu」で、リモでができるようにポート「3389」でアクセスできるようにします。

$ docker run -it -d --name my-ubuntu -p 3389:3389 ubuntu:latest
d7d2fcf0d58433256d3f8fa2cbe5d05398eadf59feb5c60e6cf155c1e4af943a

以下コマンドでコンテナが起動したことが確認できます。

$ docker ps
CONTAINER ID   IMAGE           COMMAND       CREATED         STATUS         PORTS                    NAMES
d7d2fcf0d584   ubuntu:latest   "/bin/bash"   5 seconds ago   Up 2 seconds   0.0.0.0:3389->3389/tcp   my-ubuntu

「Ubuntu」コンテナでリモートデスクトップ環境を構築

「Ubuntu」コンテナが起動できれば、次にデスクトップ環境を構築していきます。

以下コマンドでコンテナにアクセスします。

$ docker exec -it my-ubuntu /bin/bash
root@d7d2fcf0d584:/# 

「Ubuntu」を最新版にアップデートします。

root@d7d2fcf0d584:/# apt -y update
root@d7d2fcf0d584:/# apt -y upgrade

「xrdp」リモートデスクトッププロトコルをインストール

「xrdp」はRDPプロトコルが使用できるオープンソースとなります。
インストール時にタイムゾーンの設定を聞かれるので以下を設定しておきます。(インストールは日本で設定)

  • タイムゾーン設定(地域):「6. Asia 」
  • タイムゾーン設定(都市):「79. Tokyo」
apt-get install xrdp

------中略------
Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list
of cities, representing the time zones in which they are located.

  1. Africa      4. Australia     7. Atlantic Ocean  10. Pacific Ocean       13. None of the above
  2. America     5. Arctic Ocean  8. Europe          11. System V timezones
  3. Antarctica  6. Asia          9. Indian Ocean    12. US
Geographic area: 6

Please select the city or region corresponding to your time zone.

  1. Aden      14. Beirut      27. Gaza              40. Karachi       53. Muscat        66. Riyadh         79. Tokyo
  2. Almaty    15. Bishkek     28. Harbin            41. Kashgar       54. Nicosia       67. Sakhalin       80. Tomsk
  3. Amman     16. Brunei      29. Hebron            42. Katmandu      55. Novokuznetsk  68. Samarkand      81. Ujung Pandang
  4. Anadyr    17. Chita       30. Ho Chi Minh City  43. Khandyga      56. Novosibirsk   69. Seoul          82. Ulaanbaatar
  5. Aqtau     18. Choibalsan  31. Hong Kong         44. Kolkata       57. Omsk          70. Shanghai       83. Urumqi
  6. Aqtobe    19. Chongqing   32. Hovd              45. Krasnoyarsk   58. Oral          71. Singapore      84. Ust-Nera
  7. Ashgabat  20. Colombo     33. Irkutsk           46. Kuala Lumpur  59. Phnom Penh    72. Srednekolymsk  85. Vientiane
  8. Atyrau    21. Damascus    34. Istanbul          47. Kuching       60. Pontianak     73. Taipei         86. Vladivostok
  9. Baghdad   22. Dhaka       35. Jakarta           48. Kuwait        61. Pyongyang     74. Tashkent       87. Yakutsk
  10. Bahrain  23. Dili        36. Jayapura          49. Macau         62. Qatar         75. Tbilisi        88. Yangon
  11. Baku     24. Dubai       37. Jerusalem         50. Magadan       63. Qostanay      76. Tehran         89. Yekaterinburg
  12. Bangkok  25. Dushanbe    38. Kabul             51. Makassar      64. Qyzylorda     77. Tel Aviv       90. Yerevan
  13. Barnaul  26. Famagusta   39. Kamchatka         52. Manila        65. Rangoon       78. Thimphu
Time zone: 79


Current default time zone: 'Asia/Tokyo'

------中略------


オープンソースのデスクトップ環境「lxde」インストール

次にUbuntuデスクトップ環境でオープンソースとして提供している「lxde」をインストールします。
ディスプレイマネージャーをどれにするか聞かれるのでとりあえずデフォルトの「gdm3」で設定します。

root@d7d2fcf0d584:/# apt-get install lxde

------中略------

-------------------

A display manager is a program that provides graphical login capabilities for the X Window System.

Only one display manager can manage a given X server, but multiple display manager packages are installed. Please select which
display manager should run by default.

Multiple display managers can run simultaneously if they are configured to manage different servers; to achieve this, configure
the display managers accordingly, edit each of their init scripts in /etc/init.d, and disable the check for a default display
manager.

  1. gdm3  2. lightdm
Default display manager: 1


Ubuntuデスクトップのセッション設定

上記でインストールが完了したらデスクトップのセッション設定を以下で実行します。

root@d7d2fcf0d584:/# cd /etc/xdg/
root@d7d2fcf0d584:/# echo lxsession > ~/.xsession

「xrdp」サービスの起動

リモートデスクトップができるように「xrdp」のサービスを以下コマンドで起動します。
正常に起動すると「OK」となります。

失敗した場合は「restart」コマンドを実行しましょう。

root@d7d2fcf0d584:/# /etc/init.d/xrdp start
 * Starting Remote Desktop Protocol server                                                                                  [ OK ] 

Ubuntuデスクトップアクセスパスワード設定

Ubuntuの初期状態はrootパスワードがない状態となっています。
以下で、rootパスワードを設定します。

$ docker exec -it my-ubuntu /bin/bash
root@d7d2fcf0d584:/# passwd
New password: 
Retype new password: 
passwd: password updated successfully

上記設定後、「exit」でコンテナからログアウトします。

Ubuntuデスクトップへアクセス実施

今回はMacPC M1チップでのアクセスとなります。
アプリで「Microsoft Remote Desktop」をインストールし起動します。
以下のように「localhost:3389」にアクセスします。

接続時にユーザ、パスワードを聞かれるので以下を入力します。

  • ユーザ:root
  • パスワード:設定したパスワード

正常にアクセスできるとUbuntuデスクトップが表示されます。

公式Ubuntuイメージでのデスクトップ設定までの手順は以上となります。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!