LoginSignup
17
19

More than 5 years have passed since last update.

Docker for WindowsでGUI(sshでX11転送しない方法)

Last updated at Posted at 2018-05-08

python環境構築に決定版がないと感じている

それDocker for Windowsで

  • wsl使わない
    • 建前:なるべくピュアでシンプルな環境にしたい
    • 建前:色んなPython環境つくれる
    • 現実:(SEP利用かつバージョン指定な制約付きの環境で)SEPが古くてWin10 updateと非互換なためwsl使えない
  • dockerコンテナではsshd動かさない->理由
  • インストール手順は書きません、特にトラブルなく動いてしまうハズ参考つけときます

Dockerの使い心地を確認する

power_shell
>docker pull ubuntu
>docker run -it ubuntu
ubuntu
$apt update
$apt install python3-tk tk-dev
$apt install python3-pip
$pip3 install matplotlib chainer
$wget https://github.com/chainer/chainer/archive/v4.0.0.tar.gz
$tar xzf v4.0.0.tar.gz
$python3 chainer-4.0.0/examples/mnist/train_mnist.py
  • DISPLAYが無いぞと怒られます(想定とおり)

VcXsrv(インストール手順は省略)

この記事の美味しいところはここ

  1. ubuntuに環境変数DISPLAY=10.0.75.1:0.0を設定する
    • localhostじゃない
    • IPは一応ipconfigでDockerNATの値を確認してください
    • 渡し方はdocker run -e DISPLAY=..でもexport DISPLAY=..でも
  2. VcXsrvのアクセスコントロールをオフにする(危険
    • Xauthがうまいこと動きませんでした(32bit版、64bit版両方試したのですが)
    • 本当はXauthしたいです、やりかた教えてください
    • xhost +[hostname]でもいいのですがdocker -h hostnameと合わせたけどやっぱり上手くいきませんでした
    • 起動オプションvcxsrv -ac -multiwindow
  3. Windowsファイアウォールに穴をあける
    • コントロール パネル\システムとセキュリティ\Windows ファイアウォール\許可されたアプリ
    • VcXsrv windows xserverを許可する
    • 答えを書くと単純なのですがずっとここが気づけませんでした

以上で動くはず

  • plotしたり、物体検知したりどうぞ

別解

python公式dockerイメージは不採用

  • docker pull python
  • 700MBて重過ぎ

おわり

17
19
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19