728x90
📌Index Dockerfile이란? Dockerfile 지시어 ✔️ Dockerfile이란? Dockerfile reference | Docker Documentation VagrantFile 처럼 파일 이름은 Dockerfile로 정해져있고, 이미지를 어떻게 만들 지에 대한 정의를 한다. Dockerfile은 컨테이너에 설치해야하는 패키지, 소스코드, 명령어, 환경변수설정 등을 기록한 하나의 파일로, 빌드하면 자동으로 이미지가 생성되므로 애플리케이션 빌드 및 배포를 자동화할 수 있게 된다. build docker build 명령어를 실행하면, Dockerfile에 정의된 대로 이미지를 빌드하게 되고, Dockerfile이 있는 디렉토리에서 진행해야한다. 이때, / 루트 디렉토리에서 진행하지 않는 것을..
📌Index Docker export Docker import ✔️ docker export docker save와 유사 : save는 image를 tar archive로 만들기 export는 container를 tar archive로 만들기 docker export -o 예시 $ docker export 3d -o httpd.tar $ ls centos7.tar hello-world.tar httpd.tar zsh-completions $ mkdir httpd $ tar xf httpd.tar $ cd httpd ✔️ docker import tar 파일을 이미지로 가져오기 하나의 레이어로 가져오기 때문에 멀티 레이어의 이미지, 컨테이너를 하나로 만들 때 자주 사용 docker import : 예시 $..
Docker image가 레이어(Layer)를 가지는 이유를 먼저 설명하자면, 바로 데이터 저장의 효율성과 빌드 시간의 단축을 가지기 위함이다 docker run 를 통해 이미지로 컨테이너를 생성하면 기존의 이미지 레이어들 위에 conatiner layer 가 생성된다. 즉, commit 할 때마다 새로운 내용을 레이어에 쌓아가는 것이다. 기존 이미지의 레이어는 Read-Only(변경 불가)이고, 기존 레이어 위에 새로 생성된 레이어는 Read-Write(변경 가능)이며, 이미지 레이어는 삭제되지 않지만 컨테이너 레이어는 해당 컨테이너가 종료될 경우 같이 소멸된다 아래 그림에서 볼수 있듯이, 이미지에서 컨테이너를 생성할 때 읽기 전용 레이어 위에 쓰기 가능한 레이어를 추가하게 된다. image 출처 만약..
📌Index docker diff docker commit docker cp ✔️ docker diff 기준 이미지와 지정한 컨테이너와의 차이를 확인할 수 있는 명령어이다. docker diff 이때, 출력되는 값은 변경된 내용이 아닌 변경된 파일의 경로이다. 예시: httpd 이미지에서 a.gif 파일을 삭제 후 docker diff 명령어로 확인해보자 $ docker run -d httpd df72a404057ebfa139809094e5aa3991793ec913b63d7ef6d04a0fc0e95a1143 $ docker exec -it df bash root@df72a404057e:/usr/local/apache2# rm /usr/local/apache2/icons/a.gif root@df72a404..
📌Index Volume이란? 볼륨 방식 마운트 바인드 방식 마운트 사용 용도 ✔️ Volume이란? Docker 컨테이너(container)에 쓰여진 데이터(새로 추가한 rw layer)는 기본적으로 컨테이너가 삭제될 때 함께 사라지게 된다. Docker에서 돌아가는 많은 애플리케이션(특히 MySQL과 같은 DB)은 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장해야하고, 많은 경우 여러 개의 Docker 컨테이너가 하나의 저장 공간을 공유해서 데이터를 읽거나 써야한다. 이렇게 Docker 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장할 수 있도록 별개의 공간인, Volume이 필요하다. 이미지의 Config.Volumes 선언되어 있으면, 자동으로 Docker 볼륨이 생성되고 마운..
📌Index 최신 docker 명령 구조 이미지 컨테이너 컨테이너 목록 및 실행 watch option 컨테이너 프로세스 및 리소스 환경변수 컨테이터 Discovery ✔️ 최신 docker 명령 구조 $ docker container $ docker image $ docker network $ docker volume ✔️ 이미지 local 이미지 목록 확인 $ docker images $ docker image ls $ docker image sub-command : tab+tab $ docker image build -- Build an image from a Dockerfile history -- Show the history of an image import -- Import the conten..