오늘은 windows에서 docker를 사용할 경우 insecure-registry를 설정하는 방법에 대해 포스팅 하려고 합니다.
일반적으로 insecure-registry 설정은 docker image를 push 하고자 할때 사용되며, https통신이 default 값이기 때문에
insecure-registry를 설정하여 임시방편의 http형태로 push 하도록 합니다.
설정을 안했을때 docker image를 push를 하면 다음과 같은 x509 이슈가 발생하는 것을 확인할 수 있습니다.
docker push test.registry:5000/nginx:latest
Using default tag: latest
The push refers to repository [test.registry:5000/nginx:latest]
Get "https://test.registry:5000/v2/": tls: failed to verify certificate: x509: certificate is not valid for any names, but wanted to match test.registry
현재 docker 설정을 확인하기 위해
docker info 명령어를 입력합니다.
Info에 보이는 Insecure Registries: 설정된 값을 확인할 수 있으며,
push를 해야하는 docker registry 주소를 해당 항목에 추가해야 합니다.
C:\docker_file>docker info
Client:
Version: 24.0.6
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2-desktop.5
Path: C:\Program Files\Docker\cli-plugins\docker-buildx.exe
...
...
...
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile
Insecure Registries를 설정하기 위해서는 Linux도 동일하게 daemon.json을 수정 해야 합니다.
Windows에서는 수정하는 방법은 다음과 같습니다.
C:\Users\{사용자}\.docker 위치로 이동
daemon.json 파일 열어서 수정
아래 그림과 같이 원하는 insecure-registries를 입력하고
원하는 주소를 함께 추가 합니다.
"insecure-registries" : ["{registry url}"],
여기까지 완료 되었다면, 현재 docker service를 재시작 해줘야 해당 daemon.json 파일의 설정이
적용됩니다.
docker service 재시작 하기위해서는 다음과 같이 docker client를 실행하고,
좌측 하단에 있는 ... 설정을 통해 Restart를 해줍니다.
docker service가 재기동 되었다면, cmd에서 docker info를 재확인 합니다.
다음과 같이 Insecure Registries안에 추가한 docker registry 주소가 추가된 것을 확인할 수 있습니다.
해당 주소로 push할때는 http형태로 통신하기 때문에 x509와 같은 에러가 더이상 발생하지 않습니다.
C:\docker_file>docker info
Client:
Version: 24.0.6
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2-desktop.5
Path: C:\Program Files\Docker\cli-plugins\docker-buildx.exe
...
...
...
Insecure Registries:
test.registry:5000
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
지금까지 insecure-registry 설정 하는 방법 (for windows)에 대한 포스팅 이였습니다.
'Develope > Docker' 카테고리의 다른 글
[Docker] private registry http: server gave HTTP response to HTTPS client 해결 방법 (0) | 2022.10.13 |
---|