Dockerで起動させた Amazon Linux 2023 ベースのコンテナで xargs をインストールする

スポンサーリンク
Dockerで起動させた Amazon Linux 2023 ベースのコンテナで xargs をインストールする 環境構築
Dockerで起動させた Amazon Linux 2023 ベースのコンテナで xargs をインストールする
この記事は約6分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、Dockerで起動させた Amazon Linux 2023 ベースのコンテナで xargs をインストールした内容についてご紹介します。

スポンサーリンク

背景

Dockerで起動させた Amazon Linux 2023 ベースのコンテナで xargs をインストールした内容について、備忘として記事に残しました。

エラー内容

Dockerfileの内容は下記になります。

FROM amazonlinux:2023

このとき、下記のコマンドを実行します。

docker build -t amz .

docker run -it --rm amz /bin/bash

seq 1 10 | xargs -I{} echo {}

すると下記のエラーが発生しました。

bash-5.2# seq 1 10 | xargs -I{} echo {}
bash: xargs: command not found

調査

下記のコマンドを実行しました。

dnf search xargs

下記の結果が得られました。

bash-5.2# dnf search xargs
Amazon Linux 2023 repository                                                                                                                                                                                                    5.3 MB/s |  24 MB     00:04    
Last metadata expiration check: 0:00:03 ago on Fri Mar  8 13:02:08 2024.
================================================================================================================ Name & Summary Matched: xargs =================================================================================================================
texlive-xargs-doc.noarch : Documentation for xargs
===================================================================================================================== Name Matched: xargs ======================================================================================================================
texlive-xargs.noarch : Define commands with many optional arguments
==================================================================================================================== Summary Matched: xargs ====================================================================================================================
findutils.aarch64 : The GNU versions of find utilities (find and xargs)

findutilsをインストールすれば良さそうなことがわかりました。

エラー対応内容

Dockerfileを下記のように修正しました。

FROM amazonlinux:2023

RUN dnf install -y findutils

この状態で、再ビルドして、同様のコマンドを実行しました。

docker build -t amz .

docker run -it --rm amz /bin/bash

seq 1 10 | xargs -I{} echo {}

下記の結果が得られたので、エラーが解消されたことが確認できました。

bash-5.2# seq 1 10 | xargs -I{} echo {}
1
2
3
4
5
6
7
8
9
10

解説

このコードは Amazon Linux 2023 (AL2023) のDockerイメージをベースにしています。

  1. FROM amazonlinux:2023: この行は、Dockerfile内で使用される命令です。amazonlinux:2023 イメージをベースに新しいイメージを作成します。Amazon Linux 2023は、Amazon Linux 2(AL2)の後継であり、デフォルトのパッケージ管理ツールとして DNF を使用しています。
  2. RUN dnf install -y findutils: この行は、Dockerイメージのビルドプロセス中に実行されるコマンドです。dnf install -y findutils は、findutils パッケージをインストールするためのDNFコマンドです。-y オプションは、すべてのプロンプトに対して自動的に「はい」を選択することを意味します。findutils は、ファイル検索ユーティリティを提供します。

簡潔に言えば、このコードはAmazon Linux 2023イメージをベースにして、findutils パッケージをインストールするDockerイメージを作成しています。

findutils パッケージをインストールする理由は、ファイル検索に関連するユーティリティを提供するためです。具体的には、以下のツールが含まれています:

  1. find コマンド: ファイルシステム内でファイルやディレクトリを検索するための強力なツールです。条件に基づいてファイルを検索し、特定の操作を実行できます。
  2. locate コマンド: データベースを使用してファイルを高速に検索します。locate はファイル名をキーワードとして検索し、結果を返します。
  3. xargs コマンド: 標準入力から受け取ったデータを引数としてコマンドを実行するためのツールです。find と組み合わせて使用することで、複雑な操作を効率的に実行できます。
  4. その他のユーティリティ: findutils には他にも便利なツールが含まれています。例えば、updatedb コマンドは locate コマンドのデータベースを更新します。

総じて、findutils パッケージはファイル操作や検索に必要なツールを提供し、システム管理者や開発者にとって便利なリソースです。

おわりに

今日は、Dockerで起動させた Amazon Linux 2023 ベースのコンテナで xargs をインストールした内容についてご紹介しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました