Registry = 컨테이너 이미지를 저장하는 저장소
private도 가능하고 Dcoker Hub == hub.docker.com 이 public 하게 존재한다.
private registry를 만들수 있남?
이것으로 만듬
실습
https://hub.docker.com/_/registry
이제 내 로컬 5000 포트가 docker hub가 되어버렸다!@!
ip(localhost):port(5000) 이 현재 hub의 repository를 나타내준다. 인제 나의 priavte repo에 저장해보자
저 위치에 private registry(repo) 에 내것이 저장이 되었다
굉장히 긴 숫자는 컨테이너 저장소 이름이다. 이 아래 docker가 있다. 더 아래 들어가면 repositories 에 컨테이너가 존재한다.
컨테이너 사용하기
컨테이너 실행 라이프 사이클
받아온 image에서 create를 통해 이름을 지정해주고 (webserver) container를 생성한다. start 명령어를 통해 진짜 실행시킨다.
docker run 명령어는 우선 해당 image가 local에 존재하는가? 없으면 pull -> create -> start 순으로 한꺼번에 실행해준다.
현재 돌고 있는 container에 docker exec [name] /bin/bash로 쉘로 접속해서 관리할 수 있다.
exec 는 동작중인 컨테이너에 새로운 명령어 추가 실행하는 것이다.
실습
docker public hub에서 nginx image를 받아왔다. image를 인제 container화 시켜야한다. create명렁어로
docker create --name webserver nginx:1.14 명령어를 통해 컨테이너화 시키고
docker start webserver 명렁어를 통해서 실행시킨다.
docker inspect webserver를 통해서 굉장히 많은 컨테이너 정보를 확인할 수 있다.
이런식으로 format을 이용해 필요한 정보만 볼 수 있다.
curl 명령어로 실행중인 nginx index.html 을 접속했다.
-f option을 통해서 다른 터미널에서 webserver의 로그를 console에 출력하고 있다.
해당 webserver 컨테이너에 무슨 프로세스들이 돌고 있는지 top 명령어를 통해 알 수 있다.
exec 명령어를 통해 -it (interactive , terminor) 를 추가하여 현재 동작하고 있는 webserver 컨테이너에서 bash shell을 이용하여 접속하였다.
> 는 완전히 override 해버리지만 >> 를 하면 output으로 append할 수 있다.
완전히 바뀐것을 확인할 수 있다.
stop 명령어를 통해 webserver 컨테이너를 종료시켰다. 다시 start하면 실행 된다.
rm 명령어로 create된 컨테이너를 삭제 시키고 싶으면 stop 시키고 삭제할 수 있다. -f option을 주면 start된 컨테이너도 삭제가 가능하다.
'Cloud > Docker' 카테고리의 다른 글
[따배도] 9. 컨테이너간 통신(네트워크) (0) | 2022.01.21 |
---|---|
[따배도] 8. Docker Container Storage (0) | 2022.01.20 |
[따배도] 7. 컨테이너 리소스관리 (0) | 2022.01.20 |
[따배도] 3. 도커 컨테이너 살펴보기 ,4.도커 컨테이너 만들어보기 (0) | 2021.12.22 |
[따베도] 1. 컨테이너와 도커의 이해 , 2. 도커 설치 (0) | 2021.12.17 |