現在のユーザーを使用してDockerから/root/.zshrcをインポートする

現在のユーザーを使用してDockerから/root/.zshrcをインポートする

rootユーザー用のコンテナを構築し、私のユーザーを使用して実行し、/root/.zshrc内部からインポートしようとします。

以下は最小限の例です。

FROM ubuntu:20.04

RUN apt update 
RUN apt install --assume-yes --fix-broken \
    curl \
    wget \
    zsh

RUN echo EDITOR=vim >> /root/.zshrc

RUN chmod a+rx /root
CMD [ "source /root/.zshrc", "zsh"]

呼び出しは次のとおりです。

docker run --rm -it -v "$HOME/.ssh:$HOME/.ssh:ro" -v "$HOME/.netrc:$HOME/.netrc:ro" -v /etc/passwd:/etc/passwd:ro -v /etc/shadow:/etc/shadow:ro -v /etc/group:/etc/group:ro --user $UID:$UID foo_minimal

私が受け取ったエラーは次のとおりです。

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"source /root/.zshrc\": stat source /root/.zshrc: no such file or directory": unknown.

ここで何が間違っている可能性がありますか?

ベストアンサー1

zsh元の方法を引き続き使用し、ログイン時に取得したファイルを更新したい場合は、以下を追加できます/etc/zsh/zshrc

RUN echo EDITOR=vim >> /etc/zsh/zshrc

その後、ユーザーがコンテナを実行するたびに自動的にファイルをインポートします。

おすすめ記事