<!-- markdown -->
[TOC]
# なぜ必要なのか
オンプレミスで用意したGitLabCI/CD用にdocker上のコンテナとしてGitRunnerを動かしているが、そこで利用するイメージにカスタマイズ用のDockerファイルで微調整したDockerファイルを利用したい.
## ローカルのDockerイメージを用意する
### Dockerfileの用意
- sshキーを用意しておきます。
- Dockerfileを用意したフォルダに.sshフォルダをコピーしておきます。
FROM jhipster/jhipster:v7.9.3
USER root
COPY .ssh/ /root/.ssh
## Dockerレジストリをローカルに立てる
docker run -d -p 5000:5000 --restart=always --name registry registry:2
### config.toml
もしかしたら、
/etc/gitlab-runner/config.tomlファイル
に以下の追加をする必要がある。
[[runners]]
# ... 既存の設定 ...
[runners.docker]
# ... 既存の設定 ...
insecure-registries = ["localhost:5000"]
### Dockerイメージをビルドし、ローカルのDocker Registryに登録する
docker build -t local-jhipster:7.9.3 .
docker tag local-jhipster:7.9.3 localhost:5000/local-jhipster:7.9.3
docker push localhost:5000/local-jhipster:7.9.3
### ローカルのDocker Registryに正しく登録されたことを確認
curl localhost:5000/v2/local-jhipster/tags/list
### GitLab CI/CDパイプラインで、 docker-compose.yml ファイルで修正済みのjhipsterイメージを使用するように変更
services:
jhipster:
image: localhost:5000/local-jhipster:7.9.3
environment:
- JAVA_OPTS=-Xmx512m -Dspring.profiles.active=prod,swagger
ports:
- "8080:8080"
volumes:
- ./target/classes:/app/config/classes/
- ./src/main/docker:/app/config/docker/
- /tmp:/tmp
- ~/.m2:/m2