본문 바로가기

Docker

도커 이미지 관리

도커 이미지


도커 이미지는 기본적으로 도커 허브(Docker Hub)라는 곳에 있다.

 

도커 허브에서 이미지 찾는 법은 docker search 명령어를 사용한다.

### 도커 허브에서 우분투 이미지 찾는 법
docker search ubuntu

 

도커 이미지 생성


도커 이미지는 컨테이너에서 바로 생성할 수 있다.

 

docker run -it --name commit_test ubuntu:14.04 echo test_first! >> first

 

위 명령어로 first라는 파일이 있는 컨테이너를 생성한다. 기본 ubuntu:14.04 이미지에서 컨테이너를 실행해 first라는 파일을 생성한다.

 

변경사항이 있는 컨테이너를 docker commit 명령어로 컨테이너를 이미지로 만든다.

 

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

 

docker commit -a 'my_name' -m 'my first commit' commit_test commit_test:first

 

-a 옵션은 author을 의미하고 -m 옵션은 커밋 메시지이다.  위 명령어로 commit_test:first라는 이미지가 생성이 된다.

 

 

컨테이너를 이미지로 커밋하면 추가된 사항만 layer에 추가된다. 

 

이미지의 레이어 구조는 docker history 명령을 통해 확인할 수 있다.

docker history commit_test:first

 

이미지 삭제


이미지 삭제 명령어는 docker rmi이다.

 

docker rmi commit_test:first

 

하지만 해당 이미지를 사용 중인 컨테이너가 존재하면 삭제할 수 없다. 

 

이미지 이름 다시 설정


이미지 이름을 다시 설정하는 명령어는 docker tag이다.

### 앞의 develone은 저장소를 의미한다
docker tag my-image-name:0.0 develone/my-image-name:0.0

### 저장소에 이미지를 올릴때는 push 명령어를 사용한다
docker push develone/my-image-name:0.0

 

 

docker tag 명령어는 동일한 이미지의 이름만 바꾸는 것이 아닌 새로운 이미지를 생성한다.

 

--restart 옵션

 

--restart 옵션은 컨테이너가 종료됐을 때 재시작에 대한 정책을 설정한다. always는 컨테이너가 정지될 때마다 다시 시작하도록 설정하기 때문에 도커 호스트나 도커 엔진을 재시작하면 컨테이너도 함께 재시작된다.

다른 옵션으로는 on-failure와 unless-stopped가 있다

on-failure:5은 컨테이너 종료 코드가 0이 아닐 때 컨테이너 재시작을 5번까지 시도한다.

unless-stopped는 컨테이너를 stop 명령어로 정지했다면 도커 호스트나 도커 엔진을 재시작해도 컨테이너가 시작되지 않도록 설정한다

 

'Docker' 카테고리의 다른 글

도커 데몬 모니터링  (0) 2021.09.18
도커 파일  (0) 2021.09.12
컨테이너 자원 할당 제한  (0) 2021.09.11
도커 네트워크  (0) 2021.09.11
도커 볼륨  (0) 2021.09.10