#目的
Windows10環境にDockerを利用してRedmine, Gitlab, Jenkinsの環境セットを
繰り返し構築できるように、実際に試してみた内容を残しておきます。
#記載範囲
下記前提条件に沿って、Docker Desktop for Windowsをインストールして
Docker Composeを利用してRedmineを導入するところまでを記載します。
試すにあたり、以下サイトを参考にさせて頂きました。
#前提条件
- エディション:Windows10 Pro
- プロセッサ:Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz 2.90GHz
- 実装RAM:16.0GB
- システムの種類:64 ビット オペレーティング システム、x64 ベース プロセッサ
- Docker Desktop for Windows v20.10.6
- docker/compose 1.29.1
#事前準備
Docker Desktop for Windows をインストールするWindowsマシンに対して、「Hyper-V」の設定を有効化しておきます。
- コントロールパネルを開く
- プログラムを選択し、プログラムと機能を開く
- Windowsの機能の有効化または無効化を選択
- 以下の「Hyper-V」のチェックボックスにチェックが無ければ、チェックを入れて「OK」ボタンを押下
- Windowsマシンの再起動
#Docker Desktop for Windowsのインストール
- 以下のサイトより「Download for Windows」ボタンを押下し、インストーラをダウンロードして実行する。
Docker Desktop for Mac and Windows | Docker
#Windows PowerShell(管理者権限)を起動
Windows PowerShell起動は以下のいずれかで起動できます。
どちらの場合も、別ウィンドウでPowerShellが起動されます。
- コマンドプロンプトを起動し、以下コマンドを入力
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process PowerShell.exe -Verb runas"
- スタートメニューから「ファイル名を指定して実行」にて「powershell」を入力して起動後、以下コマンドを入力
Start-Process PowerShell.exe -Verb runas
#Dockerのバージョンを確認
インストールしたDockerのバージョンを確認します。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\xxxx> docker version
Client:
Cloud integration: 1.0.14
Version: 20.10.6
API version: 1.41
Go version: go1.16.3
Git commit: 370c289
Built: Fri Apr 9 22:49:36 2021
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:44:56 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0
#Docker Composeのバージョンを確認
公式サイト(日本語化):Doker-docs-ja/Docker Composeでも記載されていますが
Docker Desktop for Windowsには、Docker Composeはその一部に含まれてすでにインストールされています。
PS C:\WINDOWS\system32> docker-compose --version
docker-compose version 1.29.1, build c34c88b2
#ディレクトリ構成
今回試したディレクトリ構成は、以下のように作成し、コンテナ破棄とともにデータが失われないように
外部マウント先(コンテナ外)として「data」ディレクトリは別に分けています。
C:\DOCKER
└─my_prot01
docker-compose.yml
└─data
└─my_prot01
└─db
#docker-compose.yml
AWS EC2にDocker ComposeでRedmineを導入 の執筆時に記載したdocoker-compose.ymlの内容をWindows向けに修正しています。
version: '3.9'
services:
redmine:
image: redmine:passenger
container_name: redmine
ports:
- 3000:3000
environment:
TZ: Asia/Tokyo
REDMINE_DB_MYSQL: mysql
REDMINE_DB_DATABASE: redmine
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: redmine
REDMINE_DB_ENCODING: utf8
depends_on:
- mysql
restart: always
volumes:
- ../data/my_prot01/redmine/files:/usr/src/redmine/files
- ../data/my_prot01/redmine/redmine/log:/usr/src/redmine/log
- ../data/my_prot01/redmine/plugins:/usr/src/redmine/plugins
- ../data/my_prot01/redmine/redmine/public/themes:/usr/src/redmine/public/themes
mysql:
image: mysql:5.7
container_name: mysql
restart: always
environment:
TZ: Asia/Tokyo
MYSQL_ROOT_PASSWORD: devops
MYSQL_DATABASE: redmine
MYSQL_USER: redmine
MYSQL_PASSWORD: redmine
volumes:
- ../data/db:/var/lib/mysql
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
#docker-composeコマンドを実行し、Dockerコンテナ(複数)をバックグラウンド起動
PS C:\docker\my_prot01> docker-compose up -d
Docker Compose is now in the Docker CLI, try `docker compose up`
Creating mysql ... done
Creating redmine ... done
- 備忘録
上記コマンド実行時、volumesに指定したディレクトリ権限に関するダイアログが出ました。
「Share it」を選択(volumes指定分だけ表示)
#コンテナの状態を確認
PS C:\docker\my_prot01> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ebd216d48c5 redmine:passenger "/docker-entrypoint.…" 24 minutes ago Up 23 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp redmine
f35646564e40 mysql:5.7 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 3306/tcp, 33060/tcp mysql
#Redmineにアクセス
ブラウザを起動し、 http://localhost:3000 にアクセスする。
以下のようにRedmine画面が表示されれば完了。
#Redmine初回アクセス時
#次回の予定
Windows10にDocker ComposeでJenkinsを導入する記事を投稿予定。