#23 Docker 저장소 구축하기 (registry:latest)
star
Tasks
Docker 저장소 구축하기#
$ docker image pull registry:latest
latest: Pulling from library/registry
b3c136eddcbf: Pull complete
c0a3192eca97: Pull complete
a78a32497cf3: Pull complete
980c1fd5760c: Pull complete
8c5c94d5e05d: Pull complete
Digest: sha256:bedef0f1d248508fe0a16d2cacea1d2e68e899b2220e2258f1b604e1f327d475
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
$
컨테이너 시작/확인#
mkdir -p /home/ssemiya/docker/registry/certs
mkdir -p /home/ssemiya/docker/registry/auth
mkdir -p /home/ssemiya/docker/registry/repo
docker run -d -p 15123:5000 --restart=always --name ssemiya_registry \
-v /home/ssemiya/docker/registry/certs:/certs \
-v /home/ssemiya/docker/registry/auth:/auth \
-v /home/ssemiya/docker/registry/repo:/var/lib/registry \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert1.pem \
-e REGISTRY_HTTP_TLS_KEY=/certs/privkey1.pem \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=SSEMIYA REALM" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry
cd /home/ssemiya/docker/registry/auth
docker run --rm --entrypoint htpasswd httpd -Bbn ssemiya TestPass879 > htpasswd
docker stop ssemiya_registry
docker start ssemiya_registry
도커 이미지 생성#
docker build -t ssemiyaos15:2023.0125 .
태그부여 및 로컬 레지스트리에 등록#
docker image tag ssemiyaos15:2023.0125 localhost:15123/ssemiyaos15:2023.0125
docker image ls
docker image push localhost:15123/ssemiyaos15:2023.0125
레지스트리에 등록후 로컬 이미지 삭제#
docker rmi localhost:15123/ssemiyaos15:2023.0125
docker rmi ssemiyaos15:2023.0125
이미지 다운로드#
docker image pull localhost:15123/ssemiyaos15:2023.0125
원격에서 이미지 다운로드#
- daemon.json 파일내에 해당 레지스트리 서버에 대한 접근방식을 지정해 줘야 함. 즉 https로 접속하게끔 설정
- "insecure-registries": ["repo.ssemiya.com:15123"]
- 도커 데몬 또는 App 재시작
Last login: Fri Jun 17 00:39:56 on ttys004
$ cd .docker
$ ls
canary.json* contexts/ devenvironments/ run/
config.json daemon.json features.json scan/
$ cat daemon.json
{
"insecure-registries": ["repo.ssemiya.com:15123"],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
}
}
$
docker image pull repo.ssemiya.com:15123/ssemiyaos15:2023.0125
다운받은 이미지로 컨테이너 생성 및 실행#
docker run -d -t --name ssemiyaos15-test -p 8080:8080 repo.ssemiya.com:15123/ssemiyaos15:2023.0125
docker exec -it ssemiyaos15-test bash
원격 로그인 및 Image Push#
docker login repo.ssemiya.com:15123
docker image push repo.ssemiya.com:15123/ssemiyaos15:2023.0125
원격 image 가져오기#
docker pull repo.ssemiya.com:15123/ssemiyaos15:2023.0125
ssemiya@test:[~/.docker]
$ cat daemon.json
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"insecure-registries": [
"localhost:15123",
"repo.ssemiya.com:15123"
]
}
ssemiya@test:[~/.docker]
$ cat config.json
{
"auths": {
"repo.ssemiya.com:15123": {}
},
"credsStore": "desktop"
}
Comment 0
Add a comment
Comment 0