[解決済み] Dockerイメージの実行中にそのようなファイルやディレクトリがないエラーが発生する
質問
Dockerのコンセプトを学び、自分のプロジェクトのDockerイメージを作ろうとしています。Docker Desktop for Windowsをインストールし、以下のコマンドでイメージのビルドに成功しました。
docker build -t ${IMAGE_NAME} .
しかし、次のコマンドを実行すると
docker run ${IMAGE_NAME}:${TAG}
次のようなファイルが見つからないというエラーが発生します。
D:\ProjectsAI360↵docker run dsbyprateekg:prateek_gupta python3: ファイル '/Prepare_Dataset/server_engine/server.py' を開くことができません。[Errno 2] そのようなファイルやディレクトリはありません。
私のプロジェクトは以下のような構成になっています。
そして、私のDockerfile.txtには、以下のような指示があります。
FROM python: 3.6-stretch
MAINTAINER PrateekG
# install build utilities
RUN apt-get update && \
apt-get install -y gcc make apt-transport-https ca-certificates build-essential
# check our python environment
RUN python3 version RUN pip3 --version
# Installing python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy all the files from the project's root to the working directory
COPY Prepare_Dataset/ .
# Running Python Application
CMD ["python3", "/Prepare_Dataset/server_engine/server.py"]
ファイルパスに関する何かが欠けているのではと思います。私のDockerfileとプロジェクトの構成を見て、私がここで間違っていることを見つけるのを助けてください。
解決方法は?
を使用する場合
COPY Prepare_Dataset/ .
は、ディレクトリそのものではなく、ディレクトリの内容をコピーします。
CMD
のパスが無効になります。
/Prepare_Dataset/server_engine/server.py
.
を使用する必要があります。
COPY Prepare_Dataset/ ./Prepare_Dataset/
コピーする際に確認することができます。
Step 5/7 : COPY Prepare_Dataset/ ./Prepare_Dataset/
---> Using cache
---> 2c5c15c23f65
Step 6/7 : RUN ls | grep "Prepare_Dataset"
---> Running in 54147bd4740c
Prepare_Dataset
このようなエラーを避けるために、規約を守る方がよいでしょう。
# SEt workdirectory
WORKDIR /app
# Now it will copy to /app/
COPY Prepare_Dataset/ ./Prepare_Dataset
CMD ["Prepare_Dataset/server_engine/server.py"]
以下の手順で、問題を確認することができます。
COPY Prepare_Dataset/ .
#You will see the content but not the directory
RUN ls /
ディレクトリを見ることはできませんが、その中の任意のファイルをgrepすることは可能です。
Step 5/7 : COPY Prepare_Dataset/ .
---> Using cache
---> e4eec046c860
Step 6/7 : RUN ls | grep "Prepare_Dataset"
---> Running in 23e4b2aab3d1
The command '/bin/sh -c ls | grep "Prepare_Dataset"' returned a non-zero code: 1
関連
-
[解決済み】Dockerのビルドコンテキスト外のファイルをインクルードする方法とは?
-
[解決済み] ImportError: tkinter'という名前のモジュールがありません、python3-tkパッケージをインストールしてください。
-
[解決済み] ImportError: Missing optional dependency 'S3Fs'. S3Fsパッケージは、S3ファイルを処理するために必要です。S3Fsをインストールするには、pipまたはcondaを使用してください。
-
[解決済み] Jupyterノートブックで別ディレクトリのpyファイルをインポートする
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] Dockerイメージの削除方法について教えてください。
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み】Dockerコンテナのファイルシステムを調査する
-
[解決済み] [Solved] 失敗した `docker build` のファイルシステムを検査するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ValueError: 2D 配列を期待したが、代わりに 1D 配列を得た。
-
[解決済み] ImportError: tkinter'という名前のモジュールがありません、python3-tkパッケージをインストールしてください。
-
[解決済み] ValueError: pysparkを使用してsparkで複数のSparkContextsを同時に実行できません。
-
[解決済み] PyCharmでpython 3.4を使用する際にInvalid Python SDK Errorが発生する。
-
[解決済み] Python 3 の requests.get でデータを取得する前にページがロードされるのを待つ
-
[解決済み] Python3.7でpip3 psycopg2を実行しようとするとエラー: pg_config executable not foundが発生します。
-
[解決済み] python 3.x ImportError: cStringIO'という名前のモジュールがありません。
-
[解決済み] python3のdateutil.parserの代わりとなるものは何ですか?
-
[解決済み] ~/.conda/envs. ~/anaconda3/envs.
-
[解決済み] virtualenvを削除する方法を教えてください。