Dockerfile을 작성하면 빈 OS에서부터 내 소스 코드를 복사해 서버를 컨테이너로 띄우는 것까지 자동으로 할 수 있다.
Dockerfile에 작성된 대로 이미지를 만들고(build), 이 이미지를 컨테이너로 만들게 된다.
Dockerfile 작성
정해진 명령어를 사용해야 한다.
FROM, RUN, COPY, ADD, WORKDIR, CMD
Dockerfile 빌드
내가 만든 도커 파일을 빌드해 이미지로 만든다.
docker build -t mybuild ./
-t는 이미지의 이름, 현재 디렉터리에서 불러옴
이미지가 빌드되면, 빌드된 이미지로 컨테이너를 실행한다.
docker run -d -p --name myserver mybuild
빌드 콘텍스트
이미지 빌드를 시작하면 도커는 빌드 콘텍스트(Dockerfile이 위치한 폴더)를 먼저 읽는다.
sending build context ~~ 부분
.dockerignore
Dockerfile이 위치한 폴더에 있는 모든 파일을 읽기 때문에, 포함하고 싶지 않은 파일이 있다면 .gitignore 처럼, .dockerignore 파일을 작성하면 된다. 여기에 작성된 파일은 콘텍스트에서 제외된다. 도커 파일과 같은 경로에 있어야 한다.
이미지를 빌드할 때 볼 수 있는 step 들은 도커 파일에 작성한 순서대로 실행한 결과다.
명령어가 한 줄씩 실행될 때마다 새로운 이미지 레이어가 만들어지고, 새로운 컨테이너가 생성된다.
Removing~~은 이 과정에서 생성된 임시 컨테이너들을 삭제하는 것이다.
처음 빌드하고 난 다음부터는 빌드할 때 이전에 빌드된 캐시를 사용한다. 따라서 빌드하는 속도가 더 빨라진다.
'도커 & 쿠버네티스' 카테고리의 다른 글
Docker ) 멀티 스테이지 빌드 (0) | 2022.11.19 |
---|---|
도커 이미지 (0) | 2022.11.07 |
도커 컨테이너 로그 저장하기 (1) | 2022.10.31 |
도커 port forwarding & 볼륨 (0) | 2022.10.24 |
[도커] 도커의 기본, 이미지와 컨테이너 (0) | 2022.10.19 |
Dockerfile을 작성하면 빈 OS에서부터 내 소스 코드를 복사해 서버를 컨테이너로 띄우는 것까지 자동으로 할 수 있다.
Dockerfile에 작성된 대로 이미지를 만들고(build), 이 이미지를 컨테이너로 만들게 된다.
Dockerfile 작성
정해진 명령어를 사용해야 한다.
FROM, RUN, COPY, ADD, WORKDIR, CMD
Dockerfile 빌드
내가 만든 도커 파일을 빌드해 이미지로 만든다.
docker build -t mybuild ./
-t는 이미지의 이름, 현재 디렉터리에서 불러옴
이미지가 빌드되면, 빌드된 이미지로 컨테이너를 실행한다.
docker run -d -p --name myserver mybuild
빌드 콘텍스트
이미지 빌드를 시작하면 도커는 빌드 콘텍스트(Dockerfile이 위치한 폴더)를 먼저 읽는다.
sending build context ~~ 부분
.dockerignore
Dockerfile이 위치한 폴더에 있는 모든 파일을 읽기 때문에, 포함하고 싶지 않은 파일이 있다면 .gitignore 처럼, .dockerignore 파일을 작성하면 된다. 여기에 작성된 파일은 콘텍스트에서 제외된다. 도커 파일과 같은 경로에 있어야 한다.
이미지를 빌드할 때 볼 수 있는 step 들은 도커 파일에 작성한 순서대로 실행한 결과다.
명령어가 한 줄씩 실행될 때마다 새로운 이미지 레이어가 만들어지고, 새로운 컨테이너가 생성된다.
Removing~~은 이 과정에서 생성된 임시 컨테이너들을 삭제하는 것이다.
처음 빌드하고 난 다음부터는 빌드할 때 이전에 빌드된 캐시를 사용한다. 따라서 빌드하는 속도가 더 빨라진다.
'도커 & 쿠버네티스' 카테고리의 다른 글
Docker ) 멀티 스테이지 빌드 (0) | 2022.11.19 |
---|---|
도커 이미지 (0) | 2022.11.07 |
도커 컨테이너 로그 저장하기 (1) | 2022.10.31 |
도커 port forwarding & 볼륨 (0) | 2022.10.24 |
[도커] 도커의 기본, 이미지와 컨테이너 (0) | 2022.10.19 |