지난시간에 docker run 명령을 통해 hello-world컨테이너를 실행시켰다.
run 명령어는 로컬에 이미지가 있는지 확인하고 없으면 원격 저장소에서 다운받고 컨테이너를 만들고 실행까지 시켜준다.
사실 run은 pull, create, start명령어로 분해할 수 있다.
docker pull ubuntu
pull명령어로 우분투 이미지를 다운만 받게 되었다.
다운받은 이미지를 확인하려면 다음 명령어를 입력한다.
docker images
방금 다운받은 우분투 이미지가 들어왔다.
이제 이미지를 컨테이너화 해야한다.
docker create ubuntu
docker ps -a
ps -a는 컨테이너 목록을 보는 명령어이다.
컨테이너를 보면 여러가지 요소가 있다.
CONTAINER ID : 컨테이너 고유 ID
IMAGE : 컨테이너를 만든 이미지
COMMAND : 컨테이너에 진입하기 위한 명령어
CREATED : 컨테이너가 만들어진 시간
STATUS : 컨테이너 상태
PORTS : 컨테이너에 할당된 포트
NAMES : 컨테이너 이름
지금은 컨테이너가 생성된 상태이고 사용하려면 컨테이너를 실행시켜야 한다.
docker start {CONTAINER ID}/{NAMES}
CONTAINER ID나 NAMES중 하나를 쓰면 된다.
CONTAINER ID는 길기때문에 구별할 수 있도록 앞에서부터 적당히 짧은 부분만 입력해도 된다.
위 사진같은 경우 docker start bd 까지만 입력해도 된다.
하지만 컨테이너가 여러개 생성돼있어 CONTAINER ID가 bd35, bd46같이 생성됐다면 bd만으로 구별이 안되기 때문에 bd3, bd4까지 써줘야 한다.
NAMES는 따로 지정을 안했기 때문에 랜덤 문자열이 들어갔지만 다음시간에 설정방법을 알아볼 것이다.
docker start한 후 아무 변화가 없는것 같지만 실제로 실행은 됐었다.
STATUS를 보면 4초전에 끝났다고 나와있다.
이는 컨테이너가 시작하자마자 끝났다는 것을 의미하며 이를 방지할 방법은 다음시간에 알아본다.
이렇게 docker pull + docker create + docker start가 모여 docker run명령과 같아지게 된 것이다.
이제 끝난 컨테이너를 삭제할것이다.
docker rm {CONTAINER ID}/{NAMES}
다음 명령어를 입력하면 한번에 모든 컨테이너를 삭제할 수 있다.
docker rm $(docker ps -aq)
docker ps -aq가 모든 CONTAINER ID를 반환하는데 이를 변수로 넣어 명령을 실행하는 것이다.
또한 이미지도 삭제할 것이다.
docker rmi {REPOSITORY}
이미지를 검색할 때 나오는 REPOSITORY에서 삭제하려는 이미지를 입력하면 된다.
이번시간에는 간단한 명령어들을 알아봤고 다음시간에 실행에 관련된 명령어들과 옵션들을 알아볼 것이다.
'프로그래밍 > 도커' 카테고리의 다른 글
[도커] special. AWS 보안 (0) | 2021.12.30 |
---|---|
[도커] 6. 도커 명령어 2 (0) | 2021.12.29 |
[도커] 4. Hello Docker (0) | 2021.12.22 |
[도커] 3. 도커 구조 (0) | 2021.12.22 |
[도커] 2. 도커 시작하기 (0) | 2021.12.21 |