도커 이미지
도커 이미지는 기본적으로 도커 허브(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 |