1. Dockerfile 작성
2. 도커 클라이언트
3. 도커 서버
4. 이미지 생성
1. 베이스 이미지 명시
2. 추가적으로 필요한 파일 다운받기 위한 명령어 명시
3. 컨테이너 시작시 실행될 명령어 명시
# 이미지 생성시 기반이 되는 이미지 레이어
# <이미지이름><태그> 형식으로 작성
# 태그 없으면 가장 최신 것으로 다운로드됨
FROM baseImage
# 도커 이미지 생성 전 수행할 쉘 명령어
RUN command
# 컨테이너 시작할 때 실행할 실행파일 또는 쉘 스크립트
# 해당 명령어는 도커파일 내 1회만 사용 가능
CMD ["excutable"]
도커 파일에 입력된 것들을 클라이언트로부터 도커 서버가 인식하게 해줘야함.
이때 사용하는 명령어 docker build ./
또는 docker build
build 명령어는 해당 디렉토리 내에서 도커파일이라는 파일을 찾아서 도커 클라이언트에 전달해줌
베이스 이미지에서 다른 종속성, 커맨드 추가시 임시 컨테이너를 만들고 그 컨테이너를 토대로 새로운 이미지를 만든다 -> 이후에 임시 컨테이너는 지워진다.
빌드킷이 적용되어 있는 상황(도커 엔진 26.0.0 버전)
sudo DOCKER_BUILDKIT=0 docker build -t dir .
docker build -t 내도커아이디/저장소/프로젝트이름:버전
ip주소 대신 도메인 네임을 사용하는 것과 유사한 케이스