経由してドッカーのインスタンスを設定する pull ubuntu
そしてvia ベースイメージ/ドッカー、そしてこれの上にnode.jsを正常にインストールしました。
しかし、私が作業しているnode.jsアプリケーションのレポを取得しようとすると、 npm install
そのアクションはルートとして実行されないことを期待しており、私はそれを介してインスタンス化しています
docker run -name="{name}" -t -i {my custom docker container mirroring base-image) /bin/bash
私はrootとしてログインしています。実行する方法はありますか? docker
根ではない?
回答:
回答№1の場合は3はい - コンテナのLinuxディストリビューションが期待するものに応じて、コンテナ内の他のユーザーアカウントを作成する必要があります(ここでは Ubuntuの例)。
ユーザーアカウントを設定したら、Dockerファイルを使用できます USER
パラメータ そのユーザーとしてDockerfile内の残りのコマンドを実行します。詳細はこちらをご覧ください PostgreSQLの例 フルユースケースの場合
この例でpostgreユーザーはどこから来たのですか? Debianパッケージは、インストール時に必要なユーザーを作成します。独自のユーザーを作成したい場合は、追加することができます RUN useradd
あなたの Dockerfile
。完全な例として、この中のJira Dockerfileを見ることができます アトラシアンブログ
オペレータは、使用するユーザーアカウントを決定することもできます docker run
時間を使用して -u
パラメータ。これは、 USER
Dockerfileで選択します。