[解決済み] Dockerの "cd "を実行しようとすると「実行ファイルが$PATHに見つからない: 不明」と表示される。
2022-03-02 01:19:03
質問
次のように書きました。
Dockerfile
の引数で指定する)任意のコマンドを実行することになっています。
docker run
):
FROM ubuntu:20.04
RUN apt -y update && apt-get -y update
RUN apt install -y python3 git
CMD bash
しかし、コマンドを渡そうとすると、例えば
cd workspace
次のようになります。
C:\Users\user>docker run -it cloudbuildtoolset:latest cd workspace
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "cd": executable file not found in $PATH: unknown.
何が間違っているのでしょうか?
マシン/ドッカー/その他を再起動するような提案はしないでください。
解決方法を教えてください。
cd
は
特殊組み込みユーティリティ
POSIXシェル仕様の言語では、。 実行中のシェルの動作を変更するもので、スタンドアローンのプログラムではありません。 エラーメッセージの意味は、そのとおりです。
/bin/cd
または同様の実行ファイルを実行することができます。
Dockerコンテナは1つのプロセスを実行した後、終了し、それまでの状態をすべて失うことを覚えておいてください。 コンテナの作業ディレクトリを変更するようなコマンドを実行しても、意味がない場合があります。
コンテナ内のプロセスを、別の作業ディレクトリで実行したい場合は
docker run -w
オプション
docker run -it \
-w /workspace \
cloudbuildtoolset:latest \
the command you want to run
を追加するか、または同等の方法で
WORKDIR
ディレクティブを Dockerfile に追加してください。
また、シェルラッパーをメインコンテナプロセスとして起動することも可能です。 この場合、以下のようなビルトインコマンドを使用することができます。
cd
しかし、使い方がより複雑で、クオートの問題が発生する可能性があります。
docker run -it cloudbuildtoolset:latest \
/bin/sh -c 'cd /workspace && the command you want to run'
関連
-
[解決済み] 停止したDockerコンテナを再起動する方法
-
[解決済み] Dockerの "cd "を実行しようとすると「実行ファイルが$PATHに見つからない: 不明」と表示される。
-
[解決済み] OOM例外がない場合、Docker-composeの終了コードは137になる
-
[解決済み] Dockerfileで画像にタグを付けるには?重複
-
[解決済み] Docker Composeでコンテナにファイルをコピーする
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み】擬似TTYを割り当てるDockerの-tオプションに戸惑う
-
[解決済み】Dockerコンテナでボリュームをリストアップする方法は?
-
[解決済み】Dockerでディレクトリを変更するコマンドは?
-
[解決済み】Dockerイメージのビルドコンテキストが非常に大きい
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DockerFileからDockerインスタンスを実行するにはどうすればよいですか?
-
[解決済み] "フロントエンドのdockerfile.v0との解決に失敗しました "というエラー。
-
[解決済み] docker-composeでdockerイメージにタグ付けする方法
-
[解決済み] docker ENTRYPOINTで複数のコマンドを実行する
-
[解決済み] アルパインリナックスにGoをインストールする方法
-
[解決済み】Dockerコンテナからホストポートにアクセスする方法
-
[解決済み】Dockerfileで環境変数の値を取得する
-
[解決済み】Dockerのイメージを削除する方法を教えてください。
-
[解決済み】停止したDockerコンテナのみをリストアップする。
-
[解決済み】Dockerにボリュームを追加しても、サブフォルダを除外してしまう。