sudo
、Linuxの最も便利なコマンドは、いくつかのLinuxディストリビューション、特にdockerコンテナーと軽量Linuxディストリビューションから欠落している場合があります。
sudo
ユーザーがroot
を使用してコマンドを実行できるようにするユーティリティです。 アクセス。これは最も役立つコマンドであり、ほとんどすべての主要なLinuxディストリビューションに含まれています。はい、ほとんどすべてです。いくつかのLinuxディストリビューション、特にDockerイメージは、sudo
を出荷していません。 デフォルトでパッケージ。エラーbash: sudo: command not found
が表示された場合 それは単にsudo
を意味します インストールされていません。
bash:sudo:コマンドが見つかりません
sudo
をインストールします。 十分になります。ただし、新しいパッケージをインストールするには、root
を使用する必要があります 機能。 sudo
をインストールします 。
Ubuntuまたはその派生物の場合
$ apt install sudo
Fedoraまたはその派生物の場合
$ dnf install sudo
RHELまたはその派生物の場合
$ yum install sudo
ArchLinuxまたはその派生物の場合
$ pacman install sudo
Dockerイメージの場合
ただし、多数のDockerイメージの場合のように、rootアカウントがない場合、これは不可能な場合があります。 root
ユーザー。その場合、sudo
を使用してカスタムイメージを作成する必要があります プリインストールされています。心配しないでください。簡単です。
カスタムDockerイメージを作成する
カスタムDockerイメージを構築するには、Dockerfileが必要です。 Dockerfileは特定の構文ですべてを定義するために使用され、dockerbuildコマンドはそこからイメージを生成するために使用されます。
Dockerfileを作成する
touch Dockerfile
nano Dockerfile or gedit Dockerfile
# This is the base image we will use to create our custom docker image
FROM ubuntu:latest
#
# the maintainer of an image
LABEL maintainer="[email protected]"
#
# Install the tools (sudo)
RUN apt-get update && apt-get upgrade -y && apt install sudo tasksel -y
3番目の部分で「ツールのインストール」とマークされたRUNラベルを使用しました。実行後のコマンドは、カスタムイメージを生成する前に実行されます。したがって、ここにコマンドを入力することで、必要なパッケージをインストールできます。コマンドを書き続けると、サーバー全体を起動することもできます。
Dockerfileの詳細については、Dockerの公式ドキュメントを参照してください。
Dockerfileを保存して閉じます。ここで、コマンドラインを開き、Dockerfileを含むディレクトリに移動して、次のコマンドを実行します–
sudo docker build -t image-name:tag .
image-name:tagを変更します 好きな名前とタグを付けてください。
unable to prepare context: context must be a directory: /home/sandy/Dockerfile
。したがって、Dockerfileを含むディレクトリ内にいて、を使用する必要があります。現在のディレクトリまたはDockerfileを含むディレクトリへのフルパスを指定します。
以上です。 docker build
コマンドの作成を開始します。数秒かかります。完了すると、カスタムDockerイメージがローカルイメージキャッシュに保存されます。これで、image-name:tagを使用して、sudoがプリインストールされたDockerコンテナを作成できます。