/ / docker:dockerはroot-node.js、unix、ubuntu、dockerとして動作するため、node.jsアプリケーションのインストールに問題があります

ドッカー:node.jsアプリケーションのインストールには問題があります。ドッカーはroot-node.js、unix、ubuntu、dockerとして動作します

経由してドッカーのインスタンスを設定する 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で選択します。