docker나 kubernetes에 nexus artifactory를 만들고 docker image를 push 하려고 하면 필수 조건이 SSL 설정이다.
하지만 간단하게 로컬 개발 공부를 하려는 경우 SSL 설정 없이 쓰고 싶은 경우가 있다.
이런 경우 docker insecure registries 설정을 하면 해당 주소에 대해서는 https가 아닌 http로 요청하게 된다.
Docker Desktop의 경우 insecure registries 설정
docker desktop을 사용하는 경우 settings -> Docker Engine 항목에서 configuration file을 설정할 수 있다.
아래와 같이 insecure registries를 추가하면 된다.
{
//... 생략
"insecure-registries" : ["nexus.bluesky.local:8083", "nexus-service:8083"]
}
해당 설정을 추가하고 docker desktop을 재시작한다.
Rancher Desktop의 경우 insecure registries 설정
rancher desktop의 경우 docker daemon.json 파일을 추가하면 된다.
wsl -d rancher-desktop -e vi /etc/docker/daemon.json
{
"insecure-registries": [
"nexus.bluesky.local:8083", "nexus-service:8083"
]
}
설정 확인
해당 설정이 제대로 반영되었는지는 docker info 명령으로 확인할 수 있다.
C:\Users\bluesky>docker info
//... 중간 생략
Server:
Containers: 98
//... 중간 생략
Insecure Registries:
nexus-service:8083
nexus.bluesky.local:8083
hubproxy.docker.internal:5000
127.0.0.0/8
Live Restore Enabled: false
이렇게 insecure registries로 설정된 주소에 대해서는 https가 아닌 http로 docker push를 할 수 있다.
(추가) Nexus Docker hosted repository 설정
http로 docker image push를 할 준비가 되었으면 image를 저장할 registry에서도 http를 허용하도록 설정을 하면 된다.
docker-hosted repository를 생성하고 아래와 같이 http port설정, V1 API 활성화를 체크해준다.
설정된 nexus의 8083 port http 요청으로 docker image를 push 받게 된다.
(추가) Jib docker image push 설정
java project를 jib을 사용하여 docker image로 빌드해서 push 하는 경우 jib:bulid 명령을 사용한다.
http로 요청하는 경우 아래처럼 설정을 한다.
mvn jib:build -B -U -Dimage=nexus.bluesky.local:8083/test/testimage -Djib.allowInsecureRegistries=true -DsendCredentialsOverHttp=true
jib 버전이 변경되면 설정이 조금씩 달라질 수 있기 때문에 문서를 확인해야 한다.
'Study > CI&CD' 카테고리의 다른 글
spinnaker CD 연동해 보기 (3) - jenkins parameter 사용, kubernetes livenessProbe, readinessProbe 설정 (0) | 2023.01.01 |
---|---|
kubernetes ingress 사용해보기 (0) | 2022.12.28 |
kubernetes pods 에서 curl 테스트 해보기 (0) | 2022.12.27 |
spinnaker CD 연동해 보기 (2) - deploy manifest artifact 사용, SpEL 사용 (0) | 2022.12.26 |
spinnaker CD 연동해 보기 - jenkins, kubernetes 연동, pipeline 사용 (0) | 2022.12.22 |
로컬 kubernetes에 Spinnaker 설치해 보기 (0) | 2022.12.18 |
[troubleshooting] sonarqube 사용 시 socket timeout 발생 (0) | 2022.07.09 |
SonarLint & Connected Mode를 STS(Eclipse)에서 사용해보기 (0) | 2022.07.08 |
[troubleshooting] sonatype nexus BufferUnderflowException 발생 (0) | 2022.02.21 |
[troubleshooting] docker nerdctl pull 명령어 사용 시 received unexpected HTTP status: 503 Service Unavailable 응답 오는 경우 (0) | 2021.12.21 |