Jenkinsをセットアップし、最初のDeclarative Pipelineを作成した後、次のステップはDockerイメージをビルドするためのマシン準備でした。
パイプラインは最終的にGitHubからコードをクローンし、Dockerイメージをビルドしてコンテナレジストリにプッシュするため、JenkinsはDockerにアクセスする必要があります。Dockerがインストールされていない場合、JenkinsはDockerコマンドを実行できないため、docker buildステージは失敗します。
Dockerのインストール
Ubuntuマシンでは、以下のコマンドでDockerをインストールしました:
sudo apt update
sudo apt install docker.io -y
インストール完了後、以下のコマンドで検証しました:
docker --version
これにより、Dockerが正常にインストールされ、使用可能であることが確認されました。
Dockerインストールの検証
Dockerのインストールは作業の半分に過ぎません。次のステップは、現在のユーザーがDockerを使用する権限を持っているかを確認することです。
以下のコマンドを実行してください:
docker ps
期待される出力
すべてが正しく設定されている場合、以下のような出力が表示されるはずです:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
コンテナが実行されていない場合でも、上記のような空のテーブルが表示されれば、Dockerが正常に動作していることを意味します。
権限エラーが発生した場合
以下のようなエラーが表示された場合:
permission denied while trying to connect to the Docker daemon socket
現在のユーザーにDockerデーモンへのアクセス権限がないことを意味します。
まず、現在ログインしているユーザーを確認します:
whoami
出力例:
nishant
次に、ユーザーをdockerグループに追加します:
sudo usermod -aG docker $USER
このコマンドの機能
usermodはユーザーアカウントを変更します。
-aGは既存のグループを削除せずに補足グループにユーザーを追加することを意味します。
dockerはDockerデーモンと通信する権限を持つグループです。
$USERは現在ログインしているユーザー名を自動的に参照します。
変更の適用
グループメンバーシップは即座に有効になりません。
2つのオプションがあります:
オプション1(推奨):
Ubuntuセッションからログアウトして再度ログインします。これによりユーザグループが更新され、最も確実な方法です。
オプション2:
単にターミナルセッションを再起動します(または新しいターミナルを開きます)。多くの場合、ログアウトして再度ログインすることが、変更を完全に有効にするために必要です。
再度検証
もう一度コマンドを実行してください:
docker ps
権限エラーではなく空のコンテナリストが表示されるようになった場合、Dockerは正しく設定されており、Jenkinsパイプラインから使用する準備ができています。
学習ノート:これはDockerインストール後に初心者が直面する最も一般的な問題の1つです。インストールは成功しますが、ユーザーがdockerグループに追加されていないため、Dockerコマンドが失敗します。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.