* Private Registry 만들기
1. Start your registry
#docker run -d -p 5000:5000 --restart=always --name registry registry:2.5 |
- -d => background 옵션으로 반드시 background로 만들어 준다.
- --name => 이름을 정한다.
- --restart => docker가 구동되면 자동으로 올려준다.
- -p 5000:6000 => 5000(host port), 6000(container port) host 5000 port로 들어오는 것을 6000으로 보내라는 의미
- 위와 같이 하지 않으면 밖에서 안으로 들어오지 못한다.
- container 쪽 포트는 hub 사이트에서 확인하고 열어주어야 한다.
- 실행 후 아래와 같이 docker에 접속해 볼 수 있다.
: -ti => tty interaction으로 연결
: registry-dell 컨테이너의 /bin/sh 연결
2. Entry Point 확인
- inspect 를 통해 entry point를 확인할 수 있다.
- /entrypoint.sh 를 통해 실행되며 Cmd의 config.yml을 통해 옵션이 설정된다.
3. entry point에 필요한 yaml 파일을 복사하고 이를 살펴보자.
#docker cp registry-dell:/etc/docker/registry/config.yml . |
- registry-dell 에서 /etc/docker/registry/config.ym 파일을 복사해 온다.
4. 80 포트로 접속하기 위해 yml 파일을 수정한다.
5. docker를 다시 실행해보자
#docker rm -fv registry #docker run -dp 80:80 --name registry-dell -v $(pwd)/config.yml:/config.yml registry:2.5 config.yml |
6. dcoker 에 태그를 붙이고 올려본다.
#docker tag ubuntu localhost/ubuntu #docker push localhost/ubuntu |
* Docker 이미지 다운로드 업로드
- pull/push 명령을 통해 다운로드 업로드 한다.
- run 명령을 실행해도 이미지가 없으면 다운 받아 실행한다.
- pull 을 통해 미리 다운 받아 놓고 실행하면 provisioning 시간을 줄 일수 있다.
- image를 다운 받아보면 image layer를 확인할 수 있다.
- histry 명령을 통해서도 알 수 있다.
* 이미지 저장과 로드
- 레지스트리가 없을 경우 저장하고 로드한다.
- export 로 뽑는 것은 container에서 뽑는다.
- 똑같이 .tar로 뽑아서 나오지만 하나의 layer 로 만들어 주고, import로 이미지를 만들어준다.
- export 는 layer를 정리하는 목적으로 많이 사용한다.
# docker save -o |
- 시스템에 이미지로 가져온다.
#docker load -i |
이미지를 지울때: docker rim
컨테이너를 지울때: docker rm (container id)
- 이미지를 실행하면 컨테너가 만들어지고 실행된다.
- status가 멈춰 있을뿐 컨테이너 자체는 떠 있다고 볼 수 있다.
- 이럴때 docker rm $(docker ps -a) 명령으로 전부 지워 줄 수 있다.
'디지털 양피지 > Docker' 카테고리의 다른 글
3. 이미지 태그 관리와 Dockerfile (0) | 2017.06.27 |
---|---|
3. Container 이미지 실행 (0) | 2017.06.27 |
3.Docker 보안 (0) | 2017.06.27 |
Docker 정리 (0) | 2017.06.26 |
2. Docker 레지스토리 (0) | 2017.06.26 |