KARAF / karaf star
2023-01-25
Open
#23 Docker 저장소 구축하기 (registry:latest) star
2023-01-25 Open
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"
}
Issue Sharer
Comment 0

Add a comment
New subtask
Assignee
No assignee
Due date
No due date
Label
docker
Comment 0