본문 바로가기

Cloud/Docker, Kubernetes

[2021/04 Docker교육] 2일차

<교재 3장의 내용>

컨테이너 생명 주기

  • 컨테이너 생성 docker create

  • 컨테이너 시작 docker start

  • 컨테이너 실행 docker running

  • 컨테이너 중지 docker stop

  • 컨테이너 삭제 docker rm


docker run 은 되도록 사용하지 말도록 하자
create -> start 로 순차적으로 구동하는 습관을 들이도록 하자


컨테이너 내부에 접속

  1. docker attach
    나올때는
    ctrl+p 이후 ctrl+q (read escape sequence)

  2. docker exec
    나올때는
    exit 혹은
    ctrl+p 이후 ctrl+q


도커의 로그

도커가 로그를 남기며
기본적으로 daemon.json 파일을 먼저 트래킹 함

도커와 컨테이너가 작동을 할때 해당 로그를 계속해서 남김

로그파일은
/var/lib/docker/containers/{컨테이너명} 아래에 쌓임


docker 컨테이너의 hostname 변경

  1. 실행중인 컨테이너의 pid 확인
    docker inspect -f '{{ .State.Pid }}' {컨테이너명}

  2. nsenter명령어를 이용하여 컨테이너에 접근하고, “hostname” 명령어로 컨테이너의 hostname을 변경
    nsenter --target {PID} --uts
    hostname "changedHostName"

  3. docker exec {컨테이너명} hostname


logrotate 설정

vi /etc/logrotate.d/docker

/var/lib/docker/containers//.log {
rotate 3
daily
compress
missingol
copytruncate
}


교육 중에 사용한 명령어들

docker logs

  • docker logs -f (follow)
  • docker logs -n (tail)
    docker cp
    docker diff
    docker save / load (이미지 저장)
    docker commit (컨테이너에서 이미지 생성)

컨테이너의 자세한 정보 알기
docker inspect

inspect 내용 중 일부만 출력
docker inspect -f '{{.State.Running}}' centos
docker inspect -f '{{.NetworkSettings.IPAddress}}' centos

컨테이너 실행 상태 확인 용도의 쉘 스크립트로 활용 가능할 듯

==============================================

<4장 Container Repository>

docker registry

  • private cloud, server 와 비슷한 개념
  • docker 에서 제공하는 저장소
  • docker 이미지를 저장하는 저장소

commit한 image를 Docker 저장소에 push 하기
docker push {이미지명}:{태그}


registry 실행

docker run -d -p 5050:5050 --restart always --name my_registry registry:2

'Cloud > Docker, Kubernetes' 카테고리의 다른 글

Docker container commit & push  (0) 2021.04.27
[2021/04 Docker교육] 1일차  (0) 2021.04.27
Docker hostname 변경  (0) 2021.04.27
Docker 컨테이너 SSH 명령어  (0) 2021.04.19
Docker 테스트 환경 구축하기  (0) 2021.04.19