도커 이미지 다루기
학습 목표
도커 이미지를 다루는 방법을 이해한다.
이를 통해 직접 만든 이미지를 다른 사람이 이용할 수 있게 한다.
목차
도커이미지란 무엇인가?
도커 이미지는 도커 컨테이너를 만들기 위한 템플릿이다.
- 도커 이미지는 운영 체제로 구성된 파일 시스템, 컨테이너 위에서 실행하기 위한 애플리케이션, 의존라이브러리, 실행 환경 설정 정보까지 포함하는 아카이브다.
- Dockerfile은 이미지를 구성하는 순서를 기술한 코드이다. 이미지라고 말할 수는 없다.
- 이미지를 만드는 과정을 일반적으로 도커 이미지를 빌드한다고 한다.
- 컨테이너를 실행할 때 빌드된 이미지를 사용한다.
도커의 명령 형태
docker COMMAND SUBCOMMAND
같은 형태로 이루어져 있다.
docker help
로 상위 명령을 확인하고
docker COMMAND --help
로 하위 명령을 확인한다.
ex)
docker image --help
docker image build - 이미지빌드
docker image build
는
docker bulid
로 축약된다.
아직 배우는 단계이므로 의미를 분명하게 하기 위해 전자를 사용해 ft_server를 진행 할 것이다.
docker image build -t 이미지명[:태그명] Dockerfile의 경로
-t 옵션
-
이미지명을 지정한다. 태그명도 지정할 수 있으며, 생략 시에는 latest 태그가 붙는다.
-
-t옵션과 이미지명은 반드시 지정해야 한다고 생각하는 편이 좋다. -t 옵션 없이도 빌드 자체는 가능하지만, 이미지명 없이는 해시값만으로 이미지를 구별해야하므로 사용하기가 상당히 번거롭다.
-f 옵션
- Dockerfile이 아닌 dochoifile같은 custom파일에 코드를 작성했을 경우 사용한다.
ex)
docker image build -f dochoifile -t example/echo:latest .
–pull 옵션
- 이미지를 빌드할 때마다 로컬에 있는 이미지를 사용하지 않고 매번 pull로 이미지를 가져온다.
- 빌드 속도는 느리지만 기반 이미지를 최신으로 사용할 수 있다.
docker serach
레파지토리를 검색해준다
ex )
docker search --limit 5 mysql
docker image pull
docker image pull [options] 레파지토리명[:태그명]
이미지 내려받기
ex)
docker image pull jenkins:latest
docker image ls
보유한 도커 이미지 목록 보기
docker image ls [options] [레파지토리[:태그]]
ex)
docker image ls
여기서 나오는 IMAGE ID는 CONTAINER ID와 별개임을 명심한다.
docker image tag
이미지에 태그 붙이기
도커 이미지의 특정 버전에 태그를 붙일 때 사용한다.
동일한 이름의 이미지를 여러번 빌드하면