Docker(14)
-
Docker images 압축과 불러오기
도커 이미지 파일을 압축 파일로 저장하고 불러오는 기능은 보통 인터넷이 되지않는, 온라인 상에 올리지 않고, 특정 서버나 사람에게 전달해 주기 위한 목적으로 사용한다. 주요 명령어는 아래와 같다. docker save -o [OUTPUT-FILE] IMAGE docker save -o ubuntu_focal.tar ubuntu:focal ==> -o 옵션을 지원하는 save 명령을 사용한다. 어떤 파일을 해당 경로로 저장할지 지정한다. 아웃풋, 테그값 형식으로 지정하면된다. ubuntu:focal이미지를 ubuntu_focal.tar 로 압축 저장한다는 의미이다. docker load -i [INPUT-FILE] docker load -i ubuntu_focal.tar ==> -i 옵션을 지원해주는 lo..
2022.01.28 -
Dockerfile 문법정리
본인이 영어를 잘 안다면 먼저 아래의 링크를 참조하기 바란다. 공식 문서이며 dockerfile에 대한 내용을 서술해 두고 있다. 필요한 지시어를 최대한 정리해 보았다. https://docs.docker.com/engine/reference/builder/ Dockerfile reference docs.docker.com # Commant ==> 파이선과 마찬가지로 #을 통해 주석 처리를 한다. RUN echo 'test anything' ==> run이라는 도커 파일의 지시어 이며 echo~는 인자값이다. FROM busybox ENV FOO=/bar WORKDIR ${FOO} # WORKDIR /bar ADD . $FOO # ADD . /bar COPY \$FOO /quux # COPY $FOO /..
2022.01.28 -
Docker image Build(도커 이미지 빌드하기)
도커 이미지의 구조에 대한 그림이다. 차곡차곡 쌓여저 가는것을 확인할 수 있을 것 이다. 실제로 도커 이미지 구조는 레이어 아키텍쳐 라는 개념을 바탕으로 해서 변경점이 생길때 마다 순차적으로 상단에 차곡차곡 쌓이는 것을 확인할 수 있다. 그렇기에 우분투-nginx-web app cource으로 하나씩 하나씩 쌓여지게 되는 것이다. 이렇게 컨테이너를 생성하게 되면은 이미지 레이어 라는 형태로 컨테이너가 실행될때 Read Only 형태로 실행이 된다. 또한 컨테이너 안에 R/W(read, write) layer라는 컨테이너 layer가 생성이 된다. docker images 명령어를 사용하면 해당 운영체제의 로컬에 보관중인 이미지 목록을 확인할 수 있다. 또한 inspect 명령어를 통해서 헤쉬값으로 되어있..
2022.01.28 -
Docker log 확인 및 다뤄보기
기본적으로 표준 출력과 표준 오류 라는 개념이 있다. 어플리케이션에서 log를 다룰때는 해당 프레임워크에서 제공하는 logframework를 사용하거나 syslog등으로 보낸다거나 EC등 다양한 방식으로 보낸다. 도커 컨테이너에서는 어플리케이션에서 로그를 표준 출력, 오류(stdout, stderr)로 보내는것을 표준으로 삼는다. 컨테이너에서 출력, 오류로 발송 시키면 이 로그를 쌓아서 드라이버가 처리하도록 해 주기에 사용 목적에 맞게 잘 선택하면 된다. 기본적으로는 json-file을 사용하곤 한다. docker logs [container] ==> 해당 컨테이너의 전체 로그를 확인할 수 있다. docker logs --tail 10 [container] ==> 전체 로그의 특정 마지막 로그(10개)를..
2022.01.26 -
Docker Volume 다루기
docker volume을 알기 위해서는 도커 레이어 아키텍쳐가 무엇인지 알아야한다. 컨테이너 상에서 영구적으로 볼륨을 다루는 방법은 총 3가지가 있는데 각각 host volume, volume container, docekr volume을 이용하는 방법이다. 도커는 기본적으로 container layer와 image layers로 나누어져있다. 도커를 빌드할때 docker build -t app . 과 같은 빌드 명령어를 통해 dockerfile을 기반으로 하여 build가 된다. 이 이미지를 자세히 분석해 보면 5단계의 Layer로 구성이 되어있다. 도커 파일 안의 여러 명령어들이 순차적으로, Layer가 쌓이듯 저장이 된다고 볼 수 있다. 위 표는 ubuntu를베이스로 사용한다고 가정했을때의 lay..
2022.01.24 -
Docker Network 구조
도커는 기본적으로 컨테이너를 실행할 때 사용할 네트워크를 지정할 수 있다. 디폴트값은 docker:0이라는 브릿지 네트워크를 사용한다. 위 표를 한 번 해석해 보도록 하자. 먼저 eth0은 호스트에서 사용하고 있는 기본 네트워크이다. docker0은 기본값으로 만들어진 브릿지 네트워크이며 이 값을 통해 컨테이너 내부에서 로컬네트워크가 설치된 것을 확인할 수 있다. 이 사이에 가상(v)eht가 하나씩 생성되는데 컨테이너 1대당 1개씩 생성된다. 이제 이 네트워크 구조를 명령어를 통해서 직접 눈으로 확인해 보도록 하자. docker run -p [HOST IP:PORT]:[CONTAINER PORT] [container] -p옵션은 hostip의 포트를 컨테이너 포트와 매핑시키는 역할을 한다. docker ..
2022.01.18