Dockerを使って競技プログラミング用環境を構築

この記事では、dockerを使って競技プログラミング用の開発環境(C++Python)を構築する方法を説明します。ソースコードは、こちらに載せています。

ブログを書いている本人がDockerにあまり詳しくないため、間違っているところがあればごめんなさい><(指摘してくれると嬉しいです。)

 

環境

Windows10、VSCode

手順1: Docker Desktopのインストール

以下の記事を見ながら、Dockerのインストールを行います.

WSLも使います.

*以前環境構築をしたときに参考にした記事を載せているので、うまくいかない場合は他の記事を見てみた方がいいかもです。

手順2: 各種ファイル設定

以下に沿って競技プログラミング用の作業ディレクトリを作っていきます。こちらの記事を参考にしました。

手順3: イメージ・コンテナ作成


$ docker-compose build 
$ docker-compose run dev

二回目以降は、

docker-compose run dev

のみ実行すればよいです。

上手くいけば以下の様にC++Pythonを実行することができます。

実行画面

 

手順4: VSCodeでの設定

ここまでで一通り、環境を作ることができました。

最後に、こちらの記事を参考にしつつ、VsCodeでの設定を行っていきます。

VSCodeで、拡張機能「Remote-Containers」をインストール

2個めに表示されている拡張機能をインストールします。

Open Folder in Container をクリック

VSCodeの左下の緑色のマークをクリックして、「Open Folder in Container」をクリックします。

左下の緑色のマーク

途中でどのような環境を構成するか聞かれますが、Pythonで進めていけば大丈夫だと思います。起動できたら、「.devcontainer」というフォルダが出来ていると思います。

必要な拡張機能をインストール

C++Pythonに関する拡張機能をインストールします。以下の手順で追加できます。

  1. 拡張機能を検索(例:「C++」)
  2. 拡張機能にマウスーソルを合わせて右クリック
  3. 「Add to devcontainer.json」をクリック

上手く追加できない、場合は「表示→コマンドパレット→ウィンドウの再読み込み」をするといいかもです。

ACL、Boostのパスを追加

.vscode/c_cpp_properties.jsonを開いて、includePathを書き換えます。

以下を追加してください。

"${workspaceFolder}/work/atcoder/", "${workspaceFolder}/work/boost/"

コード実行

後は、いままでと同じようにコードを実行できるようになると思います。

コードランナー等の拡張機能は設定が引き継がれていると思います。

以上です!

 

読んでいただきありがとうございました!

astherier.com

 

astherier.com

 

github.com