#contents * なぜ必要なのか [#v97e069f] オンプレミスで用意したGitLabCI/CD用にdocker上のコンテナとしてGitRunnerを動かしているが、そこで利用するイメージにカスタマイズ用のDockerファイルで微調整したDockerファイルを利用したい. ** ローカルのDockerイメージを用意する [#m8ad43f6] *** Dockerfileの用意 [#heb418db] - sshキーを用意しておきます。 - Dockerfileを用意したフォルダに.sshフォルダをコピーしておきます。 FROM jhipster/jhipster:v7.9.3 USER root COPY .ssh/ /root/.ssh ** Dockerレジストリをローカルに立てる [#o639b61a] docker run -d -p 5000:5000 --restart=always --name registry registry:2 *** config.toml [#c1fccdca] もしかしたら、 /etc/gitlab-runner/config.tomlファイル に以下の追加をする必要がある。 [[runners]] # ... 既存の設定 ... [runners.docker] # ... 既存の設定 ... insecure-registries = ["localhost:5000"] *** Dockerイメージをビルドし、ローカルのDocker Registryに登録する [#a6c6498b] 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に正しく登録されたことを確認 [#x2825bbe] curl localhost:5000/v2/local-jhipster/tags/list *** GitLab CI/CDパイプラインで、 docker-compose.yml ファイルで修正済みのjhipsterイメージを使用するように変更 [#b5622563] 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