はじめに
この実験では、LabEx の Jenkins 環境において、Jenkins がどのように Docker コンテナ内で実行されているかを調査します。Jenkins サービスはすでにインストールされ起動済みであり、http://localhost:8080 で利用可能です。そのため、新規インストールを待つ必要はなく、Docker のデプロイメントモデルを理解することに集中できます。
以下の操作を練習します。
- ホスト上で Docker が利用可能であることを確認する。
- 実行中の Jenkins コンテナとイメージを特定する。
- Jenkins が使用している公開ポートを調査する。
- コンテナ内の Jenkins ホームディレクトリの場所を確認する。
- コンテナのログを読み取り、Jenkins の Web インターフェースを開く。
これらは、Docker ベースの開発環境やトレーニング環境で Jenkins を運用するための実践的なスキルです。
Docker 環境の調査
このステップでは、Docker が利用可能であること、および Jenkins 環境が Docker 上で実行されていることを確認します。
LabEx VM でターミナルを開き、Docker のバージョンを確認します。
docker --version
以下のような出力が表示されるはずです。
Docker version ...
次に、実行中のコンテナを一覧表示します。
docker ps
jenkins という名前のコンテナを探してください。これがこの実験全体で使用する Jenkins コントローラーです。出力にはいくつかの列がありますが、重要なフィールドはイメージ名、ポートマッピング、およびコンテナ名です。
CONTAINER ID IMAGE ... PORTS NAMES
... jenkins/jenkins:latest ... 0.0.0.0:8080->8080/tcp jenkins
重要な確認事項は、コンテナ名、イメージ、およびポートマッピングです。この実験では、コンテナの起動や削除を行う必要はありません。
Jenkins イメージの調査
このステップでは、実行中の Jenkins コンテナで使用されている Docker イメージを特定します。
以下のコマンドを実行します。
docker inspect jenkins --format '{{.Config.Image}}'
これにより、コンテナの作成に使用されたイメージ名が表示されます。この環境では、Jenkins イメージが表示されるはずです。
jenkins/jenkins:latest
ローカルのイメージを一覧表示することもできます。
docker images jenkins/jenkins
正確なイメージ ID や作成日時は変わる可能性がありますが、リポジトリは jenkins/jenkins になっているはずです。
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins latest ... ... ...
これにより、ブラウザで実行されているサービスと、Jenkins を提供しているコンテナイメージを関連付けることができます。
Jenkins のポートとデータの調査
このステップでは、コンテナが使用しているネットワークポートと Jenkins ホームディレクトリを調査します。
Jenkins は Web インターフェース用にポート 8080 を使用します。公開されているポートを確認します。
docker port jenkins
以下のように、ホスト上でポート 8080 が公開されていることが確認できるはずです。
8080/tcp -> 0.0.0.0:8080
8080/tcp -> :::8080
次に、コンテナ内の Jenkins ホームディレクトリを確認します。
docker exec jenkins ls /var/jenkins_home
ジョブ、プラグイン、ログ、設定ファイルなどの Jenkins データが表示されるはずです。
config.xml
jobs
plugins
...
Jenkins は設定やジョブデータを /var/jenkins_home に保持しているため、このディレクトリはトラブルシューティングの際やバックアップを取る際に最も重要な場所となります。
Jenkins コンテナログの読み取り
このステップでは、Jenkins コンテナのログを読み取ります。Jenkins が起動しない場合や予期しない動作をする場合、ログは最初に確認すべき場所です。
以下を実行します。
docker logs --tail 30 jenkins
出力には、Jenkins の起動メッセージや実行時のメッセージが含まれます。Jenkins のバージョン、プラグインに関するメッセージ、または HTTP サーバーの起動ログなどが確認できるでしょう。
正確な行の内容は異なる場合がありますが、このコマンドで実行中の jenkins コンテナの最新のログが返されます。
Jenkins Web インターフェースを開く
このステップでは、調査した Docker コンテナと Jenkins Web インターフェースを接続します。
デスクトップインターフェースから Firefox ブラウザを開きます。ブラウザで以下の URL にアクセスします。
http://localhost:8080
この環境ではログインは不要です。
Jenkins ダッシュボードが表示されるはずです。

これにより、jenkins Docker コンテナがポート 8080 を介して Jenkins Web UI を提供していることが確認できました。
まとめ
この実験では、Docker ベースで実行されている Jenkins デプロイメントを調査しました。
以下の操作を練習しました。
- Docker が利用可能であることを確認する。
- 実行中の Jenkins コンテナを特定する。
- Jenkins Docker イメージを調査する。
- ポート
8080の公開状況を確認する。 /var/jenkins_homeを調査する。- Jenkins コンテナのログを読み取る。
- Jenkins Web ダッシュボードを開く。
これらのスキルは、コントローラーをゼロから再構築することなく、Docker ベースの Jenkins 環境を理解し、トラブルシューティングを行うのに役立ちます。

