フローチャート:
- 定期的なシステムリリースの問題点
- サーバーが頻繁に再起動するため、それに応じてデプロイされたアプリケーション サービスを再起動できず、サービスのダウンタイムが頻繁に発生します。
- アプリケーションの手動デプロイメントは比較的面倒で、手順も煩雑です
- アプリケーションのリリース環境が発行者のローカル環境に依存するため、発行者ごとにリリース環境が毎回ばらつき、アプリケーションに異常が発生する
- サービス例外やサーバーダウンは自動対応できず、人的対応では応答時間が長すぎる問題がある
- 各サーバーのメモリ消費量が大きく負荷が高いため、一元管理には不便です
- Dockerコンテナ化の概念
- Dockerは、開発環境を同時にミラーにパッケージ化できる軽量の仮想化テクノロジです。仮想マシンと同様に環境を仮想化できますが、仮想マシンはオペレーティング システム全体を仮想化する仮想ハードウェアであるのに対し、docker はマシンのハードウェアを使用し、プロセス レベルの仮想環境を使用します。したがって、相対的に言えば、docker はより軽量で高速になります。
- Dockerコンテナ化とは、アプリケーションをコンテナに統合し、それらを実行するプロセスを指します。Dockerの中心的な考え方は、アプリケーションをコンテナに統合し、実際にコンテナ内で実行する方法です。アプリケーションのコンテナ化が完了すると、アプリケーションのコンテナ化をミラーリングして配信できます。コンテナを作成し、コンテナとして実行します。
- Docker コンテナ化の利点
- より迅速な配信と展開
- より効率的な仮想化
- より簡単な移行とスケーリング
- 管理が容易になる
- 自動展開 (CI/CD) の概念
- 導入プロセス中のすべての操作は、手動介入なしで完全に自動化されています。
- アプリケーション開発フェーズで自動化を導入し、アプリケーションを頻繁に顧客に提供するアプローチ
- 導入を自動化する
- 複数のLinuxサーバーを申請し、システム構成を統一する
- 外部ネットワークを使用せずに、同じオフライン バージョンの Docker を Linux サーバーにインストールし、Docker 環境をセットアップします。
- 統合オーケストレーションのために docker-compose をインストールし、次に swarm をインストールしてクラスターを構築します
- 各開発環境でLinuxサーバーを構築
- 外部ネットワーク サーバー (Windows も可能) を申請し、エージェントをインストールし、コードのコンパイル時にエージェントを直接指定して、対応するパッケージをダウンロードします。
- Docker環境にJenkins(自動ビルドツール)、コンテナ管理ツールPorttainer等をインストールする
- 現在の期間のすべてのシステムを swarm クラスターに移行します