이미지
이미지 검색
docker search ([option]) [keyword]
도커 허브에 존재하는 이미지를 검색한다.
--no-trunc
: 검색 결과 모두 표시
--limit
: 검색 결과를 n개로 제한
--filter=stars=n
: 즐겨찾기 수를 n개로 지정
이미지 다운로드
docker (image) pull ([option]) [image_name](:[tag])
도커 허브에서 이미지를 다운받는다. (image는 생략가능)
-a
: 이미지에 존재하는 모든 태그 이미지 다운
이미지 정보 확인
docker image inspect [image]
받은 이미지에 대한 환경이나 아키텍쳐, 가상화 크기같은 자세한 정보를 확인한다.
존재하는 이미지 확인
docker images
혹은 docker image ls
로 확인할 수 있다. 같은 이미지에 대해서 서로 다른 태그 정보도 볼 수 있다.
이미지 생성
이미지를 생성하는 방법은 크게 두가지가 있다.
- 컨테이너 내부에서 작업한 결과물을 이미지로 생성하기
docker commit [container] [image]
- Dockerfile을 작성해 이미지를 생성하기
docker build [image] [dockerfile]
도커 허브에 이미지를 공유할 경우에는 이미지 이름을 dockerhub_id/image[:tag]
의 형태로 주는 것이 바람직하다.
이미지 공유
docker image push [image]
도커 허브에 이미지를 공유할 수 있도록 업로드한다.
이미지 삭제
docker rmi [image]
혹은 docker image rm [image]
를 통해서 이미지를 지울 수 있다.
태그를 인자로 주면 태그만 삭제되고 -f 옵션과 함께 id를 인자로 주면 전체가 다 삭제된다.
컨테이너
컨테이너 생성
docker (container) create ([option]) [image_name](:[tag])
container는 생략 가능하며 option에는 name, port 등이 있다.
컨테이너 실행 목록
docker ps ([option])
하면 모든 실행되고 있는 컨테이너 목록이 출력된다.
[option]
-a
: 모든 컨테이너
-l
: 가장 최근에 만들어진 컨테이너
컨테이너 시작
docker start [container]
컨테이너를 시작하고 나면 ps
명령으로 확인했을 때 UP상태로 나오게 된다. 여기서 문제가 있다면 이미지를 삭제하고 다시 받아보도록 하자.
- 현재 실습대상으로 하는 CentOS의 경우, 생성 후 시작하면 바로 종료되어 UP상태를 확인할 수 없다. 각 이미지마다 사용법이 조금씩 다르므로 도커허브에서 사용법을 잘 확인하자.
컨테이너 터미널 사용
docker exec [option] [container] [terminal]
option은 표준 입출력을 사용하기 위해 거의 -it
를 주고 terimal에는 사용할 터미널의 path를 주면 된다. 처음에는 대부분 이미지에 깔려있는 /bin/bash
를 사용해 bash terminal을 사용한다.
컨테이너 생성 및 시작 (한번에)
docker run [option] [image_name](:[tag])
어떤 option을 주느냐에 따라 create, start, exec를 한번에 실행할 수 있다.
심지어 이미지가 없은 경우에도 아래와 같이 Unable to find image 'centos:latest' locally 라는 메세지가 뜨면서 도커허브에서 자동으로 키워드를 검색해 받아 오는 것을 볼 수 있다.
-it
: 표준 입력 및 터미널 사용을 위해
--name
: 컨테이너 이름 지정
-d
: 백그라운드로 실행
-p
: 포트포워딩 ( 8000:9000은 8000번 포트를 9000번으로 포워딩하겠다는 의미)
컨테이너 정지
docker stop ([option]) [container]
실행중인 컨테이너를 정지시킨다. 컨테이너의 상태가 Up에서 Exited로 바뀌는 것을 확인할 수 있다.
컨테이너 재시작
docker restart ([option]) [container]
정지된 컨테이너를 재시작한다. 컨테이너의 상태가 Exited에서 Up으로 바뀌는 것을 확인할 수 있다.
Uploaded by Notion2Tistory v1.1.0