일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Chef
- QT
- 방화벽체크
- 우분투
- window size
- port
- opsworks
- 리눅스
- VMware
- docker-compose
- ssh
- 루비
- sudo
- docker container
- docker
- ubuntu
- 패키지
- AWS
- golang
- driver
- Openswan
- ssh command
- 드라이버
- DevOps
- 도커
- docker registry
- VPN
- RUBY
- Linux
- VIM
- Today
- Total
구리의 창고
Docker - v1 registry 접속 실패 404 Not Found (disable-legacy-registry) 본문
머리글
docker-ce 17.06 버전부터 Registry V1과 통신이이 기본으로 막혀있다. deprecated 예정이지만 꼭 사용해야 하는 시스템이 있으면 이 옵션을 강제로 활성화 시킬 수 있다. 이 글에서 Docker Registry 주소를 http://127.0.0.1:5000 이라고 가정하겠다.
문제점
이 문제가 발생하면 아래처럼 기본적으로 404 Not Found 에러가난다. 에러메시지가 좀 더 도움이 되면 좋겠지만 그렇지않다.
Error response from daemon: login attempt to http://127.0.0.1:5000/v2/ failed with status: 404 Not Found
Docker API Version v1.12.0부터 기본으로 V1 사용이 비활성화되었는데, 이 버전은 Docker 버전과 다르다. docker version 명령어로 관련된 정보를 모두 확인 할 수 있다.
$ docker version
Client:
Version: 17.03.2-ce
API version: 1.27
Go version: go1.7.5
Git commit: f5ec1e2
Built: Tue Jun 27 03:11:13 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.2-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: f5ec1e2
Built: Tue Jun 27 03:11:13 2017
OS/Arch: linux/amd64
Experimental: false
방법1
사실 공식홈페이지 문서에도 잘 나와있지만 매번 찾는게 생각보다 어려워서 블로그에 옮겨적는다. docker pull/push/login 명령어에 --disable-legacy-registry=false를 옵션으로 넣고 실행하면된다.
$ docker login 127.0.0.1:5000 --disable-legacy-registry=false
방법2
방법1로 하면 매번 옵션을 추가해줘야하는 불편함이 있다. 아예 docker 데몬이 실행 될 때 설정에 추가하는 법도 있다.
{
"disable-legacy-registry":false
}
'DevOps' 카테고리의 다른 글
Docker - docker: Error response from daemon: No command specified (0) | 2017.11.30 |
---|---|
Docker - Container에서 Host로 접속 (Mac) (0) | 2017.11.13 |
Docker Image - repository 이름으로 삭제하기 (0) | 2017.08.04 |
Docker 로그 관리 - logrotate (0) | 2017.07.19 |
Docker Registry V2 설치 (0) | 2017.07.12 |
Comments