목록Docker (10)
Study_note
도커 파일이란? 컨테이너에 설치해야 하는 패키지, 명령어, 변수 설정 등을 작성한 파일이다. 빌드하면 자동으로 이미지가 생성되고 애플리케이션 빌드 및 배포를 자동화할 수 있게 됩니다. docker build -t 생성될 이미지 -f 도커 파일이 저장된 경로 다음과 같은 도커 파일을 만들고 도커 파일을 사용해서 배포하면 아래와 같다 배포할 때는 스텝마다 임시 컨테이너가 생성되고 그 안에서 다음단계인 이미지가 생성된 후 컨테이너를 커밋하고 이미지와 컨테이너는 하나의 컨테이너가 된다 그 후 새로운 생성됐던 컨테이너 올라가고 다시 이미지가 추가되고 커밋하는 형식이다 아래 명령어를 입력하면 파일 안에 명령어 순서대로 실행되고 ls 명령어 시 생성된 것을 확인할 수 있다 docker build -t ubuntu -..
도커 이미지란? 서비스에 필요한 프로그램 라이브러리 컴파일된 실행 파일 등 컨테이너가 실행하기 위한 모든 파일과 환경을 지닌 것을 의미한다 docker image pull - 도커 허브등의 도코 registrt로부터 도커 이미지를 다운로드 docker pull centos : centos 최신판 다운로드 - 태그명을 생략하면 최신 버전이 기본값이다 docker image pull gcr.io.tensorflow/tensorflow : Tensor flow의 URL을 지정하여 이미지 취득 docker image ls - 호스트에 위치하는 도커 이미지 목록 출력한다 docker image inspect - 이미지의 상세 정보 출력 docker imgae rm - 호스트에 이미지를 삭제 docker image..
도커 네트워크 동작 원리 도커는 컨테이너에 내부 ip를 순차적으로 할당하며, 이 ip는 컨테이너를 재시작할 때마다 변경될 수 있다 도커 브리지 인터페이스는 각 veth 인터페이스와 바인딩되어 호스트의 eth0 인터페이스와 연결해주는 역할을 한다 snat 컨테이너 ip를 로컬 호스트로 바꿔줌 나갈 때 주소 변환 (포트 포워딩 같은 개념) dnat 외부에서 들어오는 목적지인 로컬 호스트를 컨테이너 ip로 바꿔줌 들어올 때 변환 (포트 포워딩 같은 개념) 이미지가 nginx인 컨테이너 2개를 생성해보자 -p host-port:container-port docker container run -d --name w1 -p 8080:80 nginx docker container run -d --name w2 -p 8..
볼륨 컨테이너의 read-write layer은 호스트에 위치하기 때문에 데이터를 다른 호스트로 이전하기 어렵고 컨테이너가 삭제되면, 데이터가 영구적으로 유지되지 않기 때문에 다른 프로세스나 컨테이너가 해당 데이터를 필요로 하는 경우 사용할 수기 때문에 볼륨을 활용한다. named volume bind mounts는 호스트 시스템의 디렉토리 구조와 os에 의존적인 반면 볼륨은 디렉터리에 상용하는 단위로 도커 엔진에 의해서 관리한다 또한 볼륨을 어떤 컨테이너가 사용하는지, 어떻게 마운트 되는지 관리하기 용이하다 즉 네임드 볼륨은 볼륨위치를 도커가 관리 바인드는 볼륨 위치를 설정해줘야 한다 우선 create 명령어로 볼륨을 생성하고 inspect 명령어를 사용하여 볼륨의 세부 정보를 출력하면 아래와 같다 볼..
도커 이미지 이미지는 컨테이너 생성할 때 필요하며 가상 머신을 생성할 때 iso 파일과 비슷하다 도커 컨테이너 이미지로 컨테이너를 생성하며 이미지 목적에 맞는 파일이 들어 있는 파일 시스템과 격리된 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성되는데 이것을 도커 컨테이너라고 한다. 명령어 docker info -> 도커 실행 환경의 상세 설정이 표시 docker container ps 현재 컨테이너들의 목록확인 ( -a 현재 실행중, 실행 중이지 않는 컨테이너까지 모두 출력) command = 컨테이너가 시작될 때 실행될 명령어 centos, ubuntn 같은 경우 컨테이너 시작될 때 /bin/bash 쉘이 실행된다 docker container create 컨테이너를 생성하고 자동으로 시작하지..
Overlay2란? read-only image( lower dir )로 각 컨테이너들이 공용으로 사용하고 컨테이너 생성 시 필요한 read-write image(upper dir)를 추가해서 각 컨테이너 별 사용하는 공간을 최소화하는 기술 우선 실습할 overlay 디렉터리와 그안에 container image1 image2 image3 work merge를 생성해준다 # mkdir overlay # cd overlay # mkdir container image1 image2 image3 work merge 디렉터리를 만들었다면 a b c 파일을 만들고 구분할 수 있게 파일을 채운 후 마운트 해준다 # echo Hello world > image1/a # echo Hi everyone > image1/..