質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

OpenAI Gym

OpenAI Gymは、強化学習を開発・強化するためのシミュレーション環境です。強化学習における実験や評価環境などを標準化し提供することを目的としています。さらに、結果をアップロードしたり、他の人の実行結果や実装を見ることも可能です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

1813閲覧

DockerによるOpenAI-gymの環境構築について

scienceman

総合スコア8

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

OpenAI Gym

OpenAI Gymは、強化学習を開発・強化するためのシミュレーション環境です。強化学習における実験や評価環境などを標準化し提供することを目的としています。さらに、結果をアップロードしたり、他の人の実行結果や実装を見ることも可能です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2020/08/22 12:26

docker を使い、コンテナにOpenAIgymの環境構築を行い,コンテナ内でJupyterLabを立ち上げて、そこでコードを書きたいです。
Mac book proを使っています。

以下のサイトから,下記コマンドでDocker imageをpullしています。

https://hub.docker.com/r/eboraas/openai-gym/

$ docker pull eboraas/openai-gym

実行したいのは
1 コンテナのファイルをコンテナのホストにマウントする
2 コンテナのポートをホストのポートにつなぐ

1・2をした上で、コンテナの作成を行い, URLにlocalhost:9999と入力したら、コンテナのJupyterlabでOpenAI-gymが使える状態を作りたいです。

しかし、以下のコマンドを実行したらエラーとなります。
試したことは、ポート番号がおかしいのかと思い、ホスト側・コンテナ側を8888,8889などと変えてうまく行きません。

ちなみに、すでにポート番号8888は機械学習のAnacondaの環境構築されている、コンテナが作ってあります。
上の手順により、jupyterlab がurlにlocalhost:8888と入力すれば、jupyterlab が起動するようになっています。

解決作がわかる方いましたら、ご教授お願いしたいです。

ユーザー名:~ hondakaito$ docker run -p 8888:9999 -v ~/Desktop/work2:/work2 --name gym-ai eboraas/openai-gym Traceback (most recent call last): File "/usr/local/bin/jupyter-notebook", line 5, in <module> from notebook.notebookapp import main File "/usr/local/lib/python3.7/dist-packages/notebook/__init__.py", line 25, in <module> from .nbextensions import install_nbextension File "/usr/local/lib/python3.7/dist-packages/notebook/nbextensions.py", line 18, in <module> from jupyter_core.paths import ( File "/usr/local/lib/python3.7/dist-packages/jupyter_core/paths.py", line 21, in <module> from distutils.util import strtobool ModuleNotFoundError: No module named 'distutils.util'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ホスト側のポート 9999 で表示したい場合は、 docker run のオプションで -p 9999:コンテナ内のポート を指定します (参考)。

質問で例に挙げられた Docker イメージは、デフォルトでコンテナ内のポート 8888 を EXPOSE しますので、このような場合は docker run -d -p 9999:8888 イメージ名 のような形式で記述する必要があります。

画面に出ているエラーは、恐らくホスト上で既にポート 8888 が使われているのに、そこを Docker でも使おうとして出てきているものと考えてられます。

投稿2021/04/10 09:19

zembutsu

総合スコア1584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問