20
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerコンテナ内でVSCodeを起動する(Ubuntu)

Last updated at Posted at 2018-08-17

#はじめに
dockerコンテナ内でVSCodeを起動することができたので、方法を記したいと思います。

VSCodeの拡張機能を使ってdockerコンテナで動くコードをリモートデバッグする方法は以下の記事に載っていますが、個人的には今回紹介するようにdockerコンテナ内でVSCodeを起動する方がシンプルで好みです。
https://qiita.com/Ryuichirou/items/6327ab5012ca1729d72f

#Dockerfile
Dockerfileの内容について説明します。

###ベースイメージとワークディレクトリの指定
この部分は本筋とは関係ないので、お好きなように。

FROM nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04

WORKDIR /root
ENV HOME /root

###apt-get

必要なパッケージをapt-getでインストールします。
gdebiは、debパッケージを依存関係を解決しながらインストールするためのツールです。

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    wget \
    git \
    libssl-dev \
    libbz2-dev \
    libsqlite3-dev \
    libreadline-dev \
    zlib1g-dev \
    libasound2-dev \
    libxss1 \
    libxtst6 \
    gdebi

###VSCodeのインストール

RUN wget -O vscode-amd64.deb https://go.microsoft.com/fwlink/?LinkID=760868
RUN yes | gdebi vscode-amd64.deb
RUN rm vscode-amd64.deb

###pythonのインストール
pyenvを使ってpythonをインストールします。
と言っても、本記事の内容はpython以外の言語にも簡単に適用できるでしょうし、また、pythonのインストールはpyenv以外の仕組みを利用しても構いません。

RUN git clone https://github.com/yyuu/pyenv.git ~/.pyenv
ENV PYENV_ROOT $HOME/.pyenv
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
RUN pyenv install 3.6.6
RUN pyenv global 3.6.6

#dockerイメージのビルドとコンテナの起動
###イメージのビルド

nvidia-docker build -t kanosawa/vscode .

###コンテナの起動
以下の記事を参考にさせていただきました。
Dockerコンテナの中でGUIアプリケーションを起動させる

xhost local:
nvidia-docker run -e DISPLAY=$DISPLAY \
                  -v /tmp/.X11-unix:/tmp/.X11-unix \
                  -it kanosawa/vscode

#コンテナ内でVSCodeを起動する
VSCodeをsuper userで起動する場合、以下のオプションが必要なようです。
起動した後は、ポップアップに従ってPython拡張機能をインストールすれば、デバッグ実行可能になります。

code --user-data-dir

#おわりに
以上の手順で、Dockerコンテナ内でVSCodeを起動できるようになります。

書いた後に読み返してみると、タイトル通りの内容というよりは「DockerfileでVSCodeをインストールする方法」と「Dockerコンテナ内でGUIアプリケーションを起動する方法」の合わせ技でしかないですね。。。

20
36
1

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
20
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?