Dockerでubuntu22のリモートデスクトップ接続できるコンテナ
ubuntu20をubuntu22へ切り替えしてったんやけど、dockerコンテナのもやりたいなって思ったのでやってみた。 ubuntu22の親ホストで動くdockerコンテナとしてxrdpd稼働させて、リモートデスクトップ接続可能なubuntu22コンテナを作る。 その後、 ubuntu24 での稼働に切り替えた。 結論 dockerhubにあったxrdpコンテナのdockerfileをベースにして自分用に改造し、ubuntu22.04LTSにしたxrdpコンテナが起動できて、windowsから接続できるようになった。 macからもつないで使える(妄想)。 まずは、ビルドして起動した直後。 他にもdjangoやらldapsサーバやらredhat8/9クローンを動かしてる。 GUI含むので、dockerfile使ってビルドするのは20分ぐらい待つ。 ssd使うようにしても、それなりに時間はかかる。 リモートデスクトップ接続して、マウントした永続化領域を開いたとこ。 ubuntu22のJammy jellyfishってなってるし、右上の日付表示も日本語で、タイムゾーンもJSTになってる。 自分向けお決まりの入力をaliasに登録したところ。 source .bashrcってするか、ログインしなおしたらaliasが有効になる。 キーボードレイアウトを日本語にするため「設定マネージャー」を起動してみる。 GUIで見えてるポップアップツリーも、めっちゃ日本語表示してくれてる。 レイアウト変更は「japanese」って表記じゃなくて、いちばん下のほうにある「日本語」ってのを選ぶ。 これでレイアウトを「OADG109A」にして「Generic105-KEY PC」ってキーボード選ぶと「@」とか「:」が日本語レイアウトで使える(特にコロンが入力できないとvimでツライ)。 dockerコンテナの再起動したらlibreofficeの中でもちゃんと記号使えた。 コマンドラインで、パネルの日時表示設定とか日本語キーボード設定やらなあかんのかなぁって思ってたらスンナリ使えるようになった。 あとはベース機能を ubuntuで最初にaptした内容 を使ってvscodeとchrome入れたらこうなった。 これでdjangoのソースいじったり、ローカル環境で必要なときにテストできる。 ついでにlibre officeも最後に入れた。 docker-composeには、こう書いた。 dockerhubにあったxrdpコンテナを扱ってるサイトでベースになるものを引き当てて、ubuntu20で使ってる記述をベースに★箇所について改造して利用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ### git clone https://github.com/danchitnis/container-xrdp.git ### cd container-xrdp ### ### docker build -f ./ubuntu-xfce/Dockerfile -t ubu:22gvis . ### docker run -it -v /docker/nariDockerDat/cl_ubun22:/gvis -p 33389:3389 ubu:22gvis nari xxxxxxxx yes cl_ubu22: image: ubu:22gvis privileged: true ★お決まりの記述 hostname: clubu22 ports: - "33389:3389" ★windowsからは33389ポートで接続させる volumes: - ./nariDockerDat/cl_ubun22:/gvis ★永続化領域をつないで使う tty: true shm_size: 512m ★この記述がないとchromeでページ表示の際にエラー出る depends_on: - "sv_ldap-admin" ★このコンテナより後に起動して欲しいので書いた ubuntu20の頃 yama07さんが作っておられてて、ubuntu20の頃はこれ使わせてもらってた。 ...