GitLab Container Registry를 활성화하고 Docker에서 사용

GitLab Container Registry를 GitLab 9.0에서 활성화하고,
Docker에서 사용해 봅니다.

1. 전제 조건


  • GitLab을 Omnibus package installation과 함께 설치했다고 가정합니다. (여기를 참조하십시오.
    ぃ tp // 코 m / 마사쿠라 /)

  • 2. 설정



    다음을 설정한다.

    /etc/gitlab/gitlab.rb
    registry_external_url 'https://registry.example.co.jp'
    registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/example.crt"
    registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/example.key"
    

    SSL은 여러 가지 귀찮기 때문에 Let's Encrypt 등으로 취득하면 좋을 것입니다.
    설정 반영
    $ sudo gitlab-ctl reconfigure
    

    3. Docker에서 사용



    GitLab 프로젝트에서 Registry가 나옵니다.



    3-1. Docker에서 로그인



    지침과 마찬가지로 Docker 호스트에서 레지스트리에 로그인합니다.

    bash
    $ sudo docker login registry.example.co.jp
    Username (XXXXX): <GitLabのuser_id>
    Password:<GitLatのuser_password>
    Login Succeeded
    

    다음과 같은 오류가 발생하면 gnupg2 pass라는 패키지가 부족하다고합니다.
    Error saving credentials: error storing credentials - err: exit status 1, out: `Error spawning command line “dbus-launch --autolaunch=2fb346aaad55463a89ab59d4438349ab --binary-syntax --close-stderr”: Child process exited with code 1`
    

    다음 명령으로 설치합시다.
    sudo apt install gnupg2 pass
    

    DockerHub에 docker login을 할 수없는 경우의 해결 - Qiita
    htps : // 이 m / ゔ ぇ ぺ ぺ r きかかい / ms / 03131 d1 a9 a c2b99 340

    3-2. Docker Hub의 이미지를 GitLab Container Repositry에 복사합니다.



    좋은 이미지 검색
    $ sudo docker search nginx
    

    Pull합니다.
    $ sudo docker pull nginx
    

    컨테이너 이미지 확인
    $ sudo docker images 
    

    이미지에 GitLab Container Registry 태그 이름 지정
    $ sudo docker tag nginx registry.example.co.jp/hogehoge/hogeproject
    

    registry.example.co.jp에 Push한다.
    $ sudo docker push registry.example.co.jp/hogehoge/hogeproject
    

    4. Docker Run



    Push 한 이미지를 시작해 봅니다.
    $ sudo docker run registry.example.co.jp/hogehoge/hogeproject
    

    참고:
    ぃ tp // 코 m / 마사쿠라 / ms / 802f4b8 322d2543c80

    좋은 웹페이지 즐겨찾기