この記事では、Dockerをポートフォリオに効果的に取り入れる方法を説明します。
1. Dockerを使ったプロジェクトを作成する
Dockerを活用したプロジェクトをポートフォリオに掲載するには、実際にDockerを導入したプロジェクトを作成することが重要です。
プロジェクトのアイデア例
フルスタックアプリケーション:
フロントエンド: ReactやVue.js
バックエンド: GoやNode.js
データベース: PostgreSQLやMongoDB
例: タスク管理アプリ、ブログサイト、eコマースアプリ
マイクロサービスアーキテクチャ:
複数のサービスをDockerコンテナで分離し、それぞれを独立して運用。
例: 認証サービス、データ処理サービス、APIゲートウェイ
データ処理アプリケーション:
データ収集や分析用のツール。
例: CSVファイル解析ツール、APIデータ収集ツール
2. Dockerを導入する方法をポートフォリオで説明
Dockerの活用ポイントをポートフォリオに明確に記載します。
ポートフォリオの構成例
プロジェクト概要:
アプリケーションの目的や機能、技術スタック(Dockerを含む)を説明。
Dockerの活用箇所:
Dockerfileで環境構築を自動化した部分。
Docker Composeで複数のサービスを管理した例。
クラウドサービス(例: AWS ECS)でDockerコンテナをデプロイした例。
ソースコード:
GitHubリポジトリなどにソースコードを公開し、Docker関連ファイルも含める。
手順書:
Dockerを使ったプロジェクトの起動方法を記載。
例: docker build, docker run, docker-compose upなどのコマンドを説明。
3. 具体的なプロジェクト例
以下にDockerを利用したポートフォリオ用プロジェクトの例を示します。
例1: タスク管理アプリ
構成:
フロントエンド: React
バックエンド: Go
データベース: PostgreSQL
Docker化:
Reactの開発環境とGoのAPIサーバーを別々のDockerコンテナで構築。
Docker Composeでフロントエンド、バックエンド、データベースを一括管理。
docker-compose.ymlの例
version: '3'
services:
frontend:
build:
context: ./frontend
ports:
- "3000:3000"
depends_on:
- backend
backend:
build:
context: ./backend
ports:
- "8080:8080"
environment:
- DB_HOST=database
database:
image: postgres:15-alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: taskdb
ports:
- "5432:5432"
例2: マイクロサービス構成
構成:
複数のサービスを分離(認証、データ処理、UIなど)。
各サービスを独立したDockerfileで管理。
Docker化:
マイクロサービスをDocker Composeで一括管理。
RedisやMySQLなどのサービスをネットワークで連携。
4. デプロイ方法を含める
Dockerを使ったデプロイの実例をポートフォリオに含めることで、実務での利用経験をアピールできます。
デプロイ例
クラウドサービス:
AWS ECS, Google Cloud Run, Azure Container InstancesなどにDockerコンテナを展開。
CI/CDの導入:
GitHub ActionsやGitLab CI/CDでDockerイメージのビルド、テスト、デプロイを自動化。
GitHub Actionsの例
name: Docker CI/CD
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t myapp:latest .
- name: Push to Docker Hub
run: |
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
docker push myapp:latest
5. Dockerの強みをアピール
ポートフォリオではDockerの以下の強みをアピールしましょう。
環境構築の容易さ:
DockerfileやDocker Composeを使って手間を削減。
移植性:
どの環境でも同じように動作する。
デプロイの効率化:
クラウド環境への迅速な展開が可能。
まとめ
Dockerをポートフォリオに取り入れることで、環境構築やデプロイのスキルをアピールできます。具体的なプロジェクト例や手順を盛り込み、閲覧者がDockerの活用を簡単に理解できるようにしましょう。