<!-- 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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   最終更新のRSS