Docker Basic Commands

컨테이너 목록을 확인한다.

$ docker ps

-a 옵션을 추가로 실행한다.

$ docker ps -a

종료된 컨테이너(Exited (0))가 추가로 보인다. 컨테이너는 종료되어도 삭제되지 않고 남아있다. 종료된 건 다시 시작할 수 있고 컨테이너의 읽기/쓰기 레이어는 그대로 존재한다. 명시적으로 삭제를 하면 깔끔하게 컨테이너가 제거된다.

컨테이너를 중지하는 명령은 아래와 같다.

$ docker stop [OPTIONS] CONTAINER [CONTAINER...]

종료된 컨테이너를 완전히 제거하는 명령은 다음과 같다.

$ docker images [OPTIONS] [REPOSITORY[:TAG]]

아래 명령을 통해 중지된 컨테이너 ID를 가져와 한 번에 삭제한다.

$ docker rm -v $(docker ps -a -q -f status=exited)

도커 이미지 목록을 확인한다.

$ docker images

이미지를 다운로드한다.

$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]

이미지를 삭제한다.

$ docker rmi [OPTIONS] IMAGE [IMAGE...]

컨테이너 로그를 확인한다.

$ docker logs [OPTIONS] CONTAINER

컨테이너 명령어를 실행하는 방법은 아래와 같다.

$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

exec 명령을 통해 실행 중인 MySQL 컨테이너에 접속한다.

$ docker exec -it mysql /bin/bash

# mysql -uroot
mysql> show databases;

mysql> quit

쉘로 완전한 권한을 얻는 방법 말고 바로 MySQL 명령어를 실행 할 수도 있다.

$ docker exec -it mysql mysql -uroot

이제 호스트 OS에 MySQL을 설치하지 않아도 MySQL 클라이언트를 사용할 수 있다. 굳이 복잡한 작업이 필요 없는 경우는 -it 옵션없이 단순하게 명령을 실행하고 종료할 수도 있다.

Last updated