Platform/Docker

(도커실습5) 도커 이미지를 다뤄보자(명령어, 옵션 등)

무링요짱짱맨 2022. 3. 27. 14:52
반응형
반응형

이 실습은 '도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문(위키북스)' 를 공부하면서 작성한 글입니다

  • docker image build - 이미지 빌드
docker image build -t 이미지명[:태그명] Dockerfile의 경로​

(1) Dockerfile의 경로를 입력하지 않는 경우에는 명령어를 입력하는 위치에 존재해야함. 입력하는 경우에는 꼭 그 경로에 Dockerfile이 존재해야함


(2) '태그명'은 생략 가능


(3) Dockerfile의 파일명을 다른 파일명으로 쓰고 싶은 경우에는 ? -f옵션을 활용

docker image build -f 새로운Dockerfile의이름 -t 이미지명[:태그명] Dockerfile의경로

(4) 앞에 도커실습3에서 배웠다시피, Dockerfile 안에는 'FROM' 인스트럭션에는 베이스 이미지를 지정하게 되어있다.

2022.03.07 - [Platform/Docker] - (도커실습3) 간단한 애플리케이션 및 도커 이미지 만들어보기

 

(도커실습3) 간단한 애플리케이션 및 도커 이미지 만들어보기

이 실습은 '도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문(위키북스)' 를 공부하면서 작성한 글입니다 main.go 라는 파일에 다음 코드를 작성 package main import ( "fmt" "log" "net/http" ) func main() {..

anflddy.tistory.com

도커가 이미지를 빌드 할때는 , 먼저 로컬캐쉬를 확인하여 베이스 이미지가 있는지를 확인하기 때문에, 만약 도커허브 등 레지스트리에 최신본이 나왔을 경우에는 그 베이스 이미지가 업데이트가 되지 않는다. 이럴때 로컬캐쉬를 사용하는 것이 아닌 무조건 도커 레지스트리에 있는 베이스 이미지를 다운로드 시키는 옵션이 --pull=true 이다.

 

docker image build --pull=true -t 이미지명[:태그명]


  • docker search - 이미지 검색
docker search [option] 검색_키워드

 (1)   docker search 를 하면 도커허브(도커 이미지 레지스트리) 내 각 조직 및 사용자가 만들어 놓은 도커 리포지토리에 접근이 가능함


(2) docker search를 하다보면 'Star' 스타수가 있음. 이는 선호도 평가로 도커 이미지를 평가하는 주요 지표임

(3) docer search를 하다보면 official 에 ok 되어 있는 곳이 공식 리포지토리이고, 네임스페이스의 library 가 생략되어 있음. 

즉 NAME에 'mysql'되어 있으면 실제 네임스페이스가 포함된 리포지토리의 이름은 'library/mysql'이라는 것

도커 이미지 검색


(4) 해당 리포지토리의 태그는, 해당 리포지토리의 웹페이지에서 Tag를 보도록 함. 

 



  • docker image pull - 이미지 내려받기
docker image pull [option] 리포지토리명[:태그명]

 태그명 생략시에는 기본값으로 지정된 태그(보통 latest) 가 적용됨 

좀더 알고 싶으면 'docker image pull --help'로 확인해보자 

도커 이미지 다운로드

여기서 보면 리포지토리를 mysql 로 입력하니 자연히 네임스페이스가 붙은 library/mysql 에서 latest태그명을 다운 받는 것을 확인할 수 있다.

 



  • docker image ls - 보유한 도커 이미지 목록 보기 
docker image ls [options] [리포지토리[:태그명]]

도커 이미지 목록 조회

여기서 나오는 IMAGE ID 와 앞에서 나왔던 CONTAINER ID 와는 구별하자. 다른 것임 ! 



  • docker image tag - 이미지에 태그 붙이기 

일종의 특정 시점의 버전을 관리하기 위한 목적으로 자세한 것은 'docker image tag --help' 을 입력하기 바란다.

docker image tag 기반이미지명[:태그명] 새이미지명[:태그명]

도커 이미지 태그

여기서 보면 IMAGE ID 가 같은 것을 보면 같은 이미지를 가리키고 있음을 알 수 있다. 



  • docker image push - 이미지를 외부에 공개하기 

실제 자신이 만든 이미지를 도커허브에 push하도록 한다. push 한 후에는 아무나 pull 할 수 있으니 도커 이미지 내 패스워드 및 api 키는 조심하도록 하자. 또한 도커 허브는 자신 혹은 소속 기관이 소유한 리포지토리에만 이미지 등록이 가능하다. 즉 막 하면 에러난다는 것 

docker image push [options] 리포지토리명[:태그]

도커 이미지 push 시 에러 발생(권한 부족 , denied)

제대로 도커허브에 이미지를 올릴려면 도커허브에 로그인 해서 진행하기 바란다.

docker login -u dockerID -p ********

 

 

반응형