일단,로컬에서만 사용할거라 http를 사용할거고,그래서 ssl을 붙이지않고 사용할거다
만약 프로덕션레벨에서 쓸거라면 이렇게 하면안된다
ssl을 안붙이면 그냥
version: '3'
services:
registry:
image: registry:2
ports:
- '5000:5000'
volumes:
- ./data:/var/lib/registry
restart: always
registry_compose.yaml을 만들고 docker-compose -f registry_compose.yaml up -d로 실행시키면 거의 다끝났다
그리고 pc에서 http://서버ip:5000/v2/_catalog 로 접근이 가능하면 된다,저 url은 현재 저장소에 들어있는 이미지들을 표시해준다
그리고
# 이미지 태그
docker tag myimage:latest 서버ip:5000/myimage:latest
# 이미지 푸시
docker push 서버ip:5000/myimage:latest
# 이미지 풀
docker pull 서버ip:5000/myimage:latest
이렇게 사용하면되는데,인텔리제이에서 하려면
설정에 가서 저위치가서 저장소를 설정해주고,자동으로 연결테스트를 하는데 연결성공이 뜨면된다
그리고 인텔리제이 밑에
서비스의 도커-빌드한 이미지를 선택하고,오른쪽에 이미지푸시를 누르면
이게 나오고,확인을 누르면 푸시가 된다
만약 네임스페이스가 비어있다면,서버ip:포트 를 직접 입력해야한다
무한로딩걸리면 아마 저게 비어있을수있음
근데 이때 http server gave http response to https client 이런 에러가 날텐데,이러면 클라이언트의 도커데스크탑 설정에 들어가서,docker engine에 나오는 json에
"insecure-registries": [
"서버ip:5000"
]
를 추가해주면된다
이렇게 추가해주고 밑에 재시작을 누르면 된다
그리고 이미지를 푸시하고 http://서버ip:5000/v2/_catalog 에 접근해주면 푸시한 이미지가 뜨게된다
이 이미지를 사용할땐
version: '3'
services:
whyprice:
image: localhost:5000/whyprice:0.9
ports:
- "8080:8080"
이렇게 이미지에 localhost:5000/ 를 붙여서 사용하면된다
저걸 안붙이면 도커허브에 가서 찾으니까 조심
'DevOps > Docker' 카테고리의 다른 글
도커컴포즈에서 컨테이너 간 통신하기 (0) | 2024.10.08 |
---|---|
리눅스에 도커컴포즈로 볼륨붙여서 mysql띄우기 (0) | 2024.10.07 |
리눅스 도커(도커 컴포즈) 설치후에 권한에러뜰때 (0) | 2024.10.07 |