본문 바로가기
INFRA/DevOps

[Docker] Container Registry & Container 사용

by BTC_비웃는사나이 2022. 6. 27.

Container registry란?

  • container image를 저장하는 저장소
  • 여러 형태의 container image가 존재
  • docker search command를 통해서 image 검색 가능
  • docker hub와의 차이점
    • docker hub의 official image는 name, tag만 존재
    • private registry에 upload해야 하는 image는 반드시 hostname, port 번호가 필요함
      (80port는 생략 가능)

 

[ Hands-on ]

  • dockerhub에서 image 검색
docker search [OPTIONS] TERM
  • dockerhub에서 image 다운로드
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • 다운 받은 image 확인
docker images [OPTIONS] [REPOSITORY[:TAG]]
  • dockerhub 로그인
docker login
  • repository에 배포하기 위해 tag 설정
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • dockerhub에 image 업로드
docker push [OPTIONS] NAME[:TAG]

 

Private registry 운영하기

https://hub.docker.com/_/registry 참고

  • 로컬에 registry 실행하기
docker run -d -p 5000:5000 --restart always --name registry registry:2

  • 로걸에 실행된 registry에 image를 배포하기 위한 tag 설정
docker tag httpd:latest localhost:5000/httpd:latest

  • 로컬에 실행된 registry에 image 배포
docker push localhost:5000/httpd:latest

  • 배포된 image 확인
ls /var/lib/docker/volumes/{containerUUID}/_data/docker/registry/v2/repositories

 

Container image 사용 Command

  • image 검색
docker search [옵션] <이미지이름:태그명>
  • image 다운로드
docker pull [옵션] <이미지이름:태그명>
  • 다운 받은 image 목록 출력
    • --no-trunc : image ID를 full name으로 출력
docker images
  • 다운 받은 image 상세보기
docker inspect [옵션] <이미지이름:태그명>
  • image 삭제
docker rmi [옵션] <이미지이름:태그명>

 

Container를 실행하고 종료하는 Command

  • container 생성
    • create 명령어는 기본 background로 실행
docker create [옵션] <이미지이름:태그명>
  • container 실행
docker start [옵션] <컨테이너이름>
  • container 생성/실행 (pull, create, start를 한번에 가능)
docker run [옵션] <이미지이름:태그명>
  • 실행 중인 container 목록 확인
docker ps [옵션]
  • 동작 중인 container 중지
docker stop [옵션] <컨테이너 이름>
  • container 삭제
docker rm [옵션] <컨테이너 이름>

 

동작 중인 Container 관리 Command

  • 실행 중인 container 목록 확인
docker ps [옵션]
  • 동작 중인 container의 자세한 정보
docker inspect [옵션] <컨테이너 이름>

docker inspect --format '{{.NetworkSettings.IPAddress}}' webserver   //정보 추려서 도출 가능
  • foreground로 실행 중인 container 연결
docker attach [옵션] <컨테이너 이름>
  • 동작 중인 container에 새로운 명령어 추가 실행
docker exec [옵션] <컨테이너 이름>

docker exec -it [컨테이너명] /bin/bash
  • container에서 동작되는 프로세스 확인
docker top [옵션] <컨테이너 이름>
  • 동작 중인 container가 생성한 log 보기
    • -f : 실시간 모니터링
docker logs [옵션] <컨테이너 이름>

 

 

 

 

참고 : 

https://www.youtube.com/watch?v=aFIj68YuvzQ&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=13 

https://www.youtube.com/watch?v=bQ6XxI0Ep_Q&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=14 

https://www.youtube.com/watch?v=ild9PzdC0ww&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=15 

https://www.youtube.com/watch?v=wrx-ixvtzxk&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=16 

'INFRA > DevOps' 카테고리의 다른 글

Github의 이해 1  (0) 2022.07.01
Ingress 란? - 1  (0) 2022.06.27
DevOps 엔지니어  (0) 2022.06.23
[Docker] Docker container 생성  (0) 2022.06.21
git과 github이란?  (0) 2022.06.20

댓글