JenkinsとDockerを活用したCI環境構築の実践ガイド

1. システム構成情報: CIサーバー(Jenkins+SVN): 192.168.71.142 開発環境サーバー: 192.168.71.145 本番環境サーバー: 192.168.71.148 OS: CentOS 7.5 Apache Maven 3.5 Apache Tomcat 8 Oracle JDK 1.8 Jenkins 2.7 Docker Community Edition 17.06 2. SVNリポジトリのセットアップ手順: # yum -y install subversion # mkdir /home/svn_storage # svnadmin ...

9月20日 20:16 投稿

Dockerによるシステムデプロイの基礎

DockerとJenkinsを活用した自動デプロイ フロントエンド開発者として、デプロイの仕組みは学習が不足しているものの、実務では自社システムの構築・公開に必要な手順を経験しています。以下は個人的な運用ノウハウのまとめであり、参考程度にご活用ください。 本環境では Jenkins + Docker を用いた自動ビルド・リポジトリへのプッシュを実施しています。特にJenkinsの役 ...

9月18日 08:28 投稿

Docker Chrome における Selenium のスレッドセーフな単一ブラウザインスタンス管理

Docker コンテナ環境で Selenium を使用して Web スクレイピングを行う際、特に docker-standalone-chrome などのリモート WebDriver を利用する場合、同時に複数の Chrome インスタンスが起動・実行されるわけではなく、単一のインスタンスを共有する必要が生じることがあります。 この制約に対処するため、スレッドセーフな方法で単一のブラウ ...

9月13日 11:00 投稿

KubernetesにおけるDockerイメージ自動クリーンアップCronJobの実装

Kubernetesクラスター内の各ノードで、不要になったDockerイメージを定期的に自動削除するためのCronJob設定について解説します。このソリューションは、ノードのディスク容量を効率的に管理することを目的としており、毎日午前3時に実行されます。 前提条件: Kubernetesバージョン v1.20以降 (kubectl debug機能を利用するため) コンテナランタイムとしてDockerを使 ...

9月13日 02:11 投稿

Terraboardを使いこなす:Terraform状態管理のトラブルシューティングと運用ノウハウ

Terraboardは、Terraformのステート(tfstate)ファイルを可視化し、インフラストラクチャの変遷を直感的に管理できるオープンソースのダッシュボードです。本記事では、Terraboardの導入から運用時に直面しやすい課題に対する解決策を、コードレベルの解説とともに紹介します。 1. Docker Composeによる迅速な環境構築 Terraboardの導入を迅速に行うには、Docker Compose ...

9月5日 09:10 投稿

Dockerを利用したPHP+Apache+MariaDB+Redis環境の構築ガイド

この記事では、DockerおよびDocker Composeを使用して、PHP(Apacheモジュール)、MariaDB、Redisを含む本格的なLAMP開発環境を構築する手順について解説します。コンテナ化された環境により、依存関係の管理や環境の移植性が大幅に向上します。 PHPカスタムイメージの作成 まず、公式のPHPイメージをベースに、必要な拡張機能やツールを組み込んだカスタムイメージを作成 ...

9月5日 00:12 投稿

Dockerコンテナの管理、データ永続化、そして複数コンテナオーケストレーションの基本

本記事では、Dockerコンテナの基本的な操作方法から、データの永続化と共有を実現するデータボリューム、そして複数のコンテナを効率的に管理するためのDocker Composeについて解説します。 コンテナの基本操作コマンド Docker環境でコンテナを効率的に管理するために必要なコマンド群を紹介します。 実行中のコンテナ一覧表示 現在アクティブな状態のコンテナを確認する ...

9月2日 20:29 投稿

Dockerfile構文と実践的なビルド戦略

Dockerfileは、Dockerイメージを自動化・再現可能に構築するための宣言的スクリプトであり、一連のレイヤー化された命令によって、ベースイメージから最終的な実行環境を段階的に構成します。このプロセスは単なるファイルコピーではなく、コンテナライフサイクル全体を設計するための基盤技術です。 基本原則と実行モデル すべての命令(FROM, RUN, COPYなど)は大文 ...

9月2日 17:06 投稿

Go製CLIアプリケーションのDockerイメージにおけるCMD引数制御

DockerfileにおけるCMD指令の動作原理 コンテナランタイムにおいてプロセスを起動する際、DockerfileのCMD指令は初期コマンドとその引数を定義します。この指令はdocker run実行時に引数リストとして容易に置換可能であり、Go言語のようなコンパイル済みバイナリを実行するシーンで柔軟な起動制御を実現するために利用されます。Exec形式(JSON配列形式)で使用した場合、 ...

9月2日 08:22 投稿

Dockerネットワーク機能:ポートマッピングとコンテナ間通信

ポートマッピングによる外部からのアクセス デフォルトでは、起動されたコンテナ内のアプリケーションはホストから直接アクセスできません。外部からネットワークリソースに接続するには、-P または -p オプションを使用してポートをマッピングします。 ランダムポートの自動割り当て(-P) -P を指定すると、Docker がホスト側の空いているポートを自動的に選択し、コン ...

9月1日 13:36 投稿