docker
도커 컨테이너 다루기(13) - 도커 데몬 모니터링
1. 도커 데몬 디버그 모드 도커 데몬에서 어떤 일이 일어나고 있는지 가장 확실하고 정확하게, 그리고 자세하게 알아내는 방법은 도커 데몬을 디버그 옵션으로 실행하는 것입니다. # dockerd -D 도커를 서비스로서 구동했을 때는 위와 같은 출력내용이 없기 때문에 로그파일에서 확인 가능합니다. /var/log/upstart/docker.log 나 journalctl -u docker 명령으로 확인할 수 있습니다. 하지만 디버그 모드는 원하지 않는 정보까지 너무 많이 출력되며, 포그라운드 상태로 실행해야 한다는 단점이 있습니다. 2. events, stats, system df 명령어 [root@localhost ~]# docker events [root@localhost ~]# docker system ..
도커 컨테이너 다루기(12) - 도커데몬[3]
1. 컨테이너 저장공간 설정 컨테이너 내부에서 사용되는 파일시스템의 크기는 도커의 스토리지 드라이버에 따라 조금씩 다릅니다. 예를 들어, AUFS나 overlay2 경우 컨테이너는 호스트와 저장 공간의 크기를 공유합니다. [root@localhost ~]# docker info |grep -i storage Storage Driver: overlay2 [root@localhost ~]# df -h ... /dev/mapper/centos-root 8.0G 7.6G 455M 95% / ... [root@localhost ~]# docker run -ti --name test1 ubuntu:18.04 root@80919a25da04:/# df -h ... overlay 8.0G 7.6G 454M 95% / ..
도커 컨테이너 다루기(10) - 도커데몬[1]
1. 도커의 구조 [root@localhost ~]# which docker /usr/bin/docker [root@localhost ~]# ps auxfw |grep docker root 1567 0.0 2.9 684176 114544 ? Ssl 5월24 8:48 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 컨테이너나 이미지를 다루는 명령어는 /usr/bin/docker로 실행되지만, 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행됩니다. 이는 docker 명령어가 실제 도커 엔진이 아닌 클라이언트로서의 도커이기 때문입니다. 도커는 클라이언트로서의 도커, 서버로서의 도커로 구분됩니다. 서버로서의 도커란 ..
도커 컨테이너 다루기(9) - Dockerfile로 빌드할 때 주의할 점
Dockerfile을 사용할 때 좋은습관이라는 것이 있습니다. RUN apt-get install A \ B \ C \ 위처럼 역슬래쉬로 나눠서 가독성을 높이거나, .dockerignore 파일을 작성해 불필요한 파일을 빌드 컨텍스트에 포함하지 않는 것이 있습니다. Dockerfile을 아무렇게나 작성하면 저장 공간을 불필요하게 차지하는 이미지나 레이어가 너무 많은 이미지가 생성될 수 있습니다. [root@localhost dockerfile]# vi dockerfile FROM ubuntu:18.04 RUN mkdir /test RUN fallocate -l 100m /test/dummy RUN rm /test/dummy fallocate 명령어로 100MB 크기의 파일을 가상으로 만들어 /test/d..
도커 컨테이너 다루기(8) - 도커파일(Dockerfile)[2]
1. 기타 Dockerfile 명령어 ■ ENV - Dockerfile에서 사용될 환경변수를 지정 - ENV test /home 은 test라는 환경변수에 /home 이라는 값을 설정 - run 명령어에서 -e옵션을 사용해 같은 이름의 환경변수를 사용하면 기존의 값은 덮어 쓰여짐 [root@localhost dockerfile]# vi dockerfile FROM ubuntu:18.04 ENV test /home WORKDIR $test RUN touch $test/testfile test라는 변수에 /home 이라는 값을 설정하여 dockerfile을 만들었습니다. [root@localhost dockerfile]# docker build . -t test1:0.0 Sending build contex..
도커 컨테이너 다루기(8) - 도커파일(Dockerfile)[1]
보통 개발한 애플리케이션을 컨테이너화할 때 다음과 같은 방법으로 진행합니다. 1. 기본 이미지(CentOS, ubuntu 등)로 컨테이너 생성 2. 애플리케이션 및 환경 설치 3. 컨테이너를 이미지로 commit (myimage:0.0) 위 방법 사용 시 애플리케이션이 동작하는 환경을 구성하기 위해 일일이 수작업으로 패키지를 설치하고 소스코드를 깃에서 복제하거나 호스트에서 복사해야 합니다. 도커는 위와 같은 일련의 과정을 손쉽게 기록하고 수행할 수 있는 빌드 명령어를 제공합니다. 완성된 이미지를 생성하기 위해 컨테이너에 설치해야 하는 패키지, 추가해야 하는 소스코드, 실행해야 하는 명령어, 쉘스크립트 등을 하나의 파일에 기록해 두면 도커는 이 파일을 읽어 컨테이너에서 작업을 수행한 뒤 이미지로 만들어냅니..