출처 : subicura.com/2017/01/19/docker-guide-for-beginners-2.html
컨테이너 목록 확인하기 (ps)
docker ps [-a]
ps는 실행 중인 컨테이너 목록, -a 옵션은 실행 중이지 않은 컨테이너 목록도 보여줍니다.
컨테이너 중지하기 (stop)
$ docker stop [OPTIONS] CONTAINER [CONTAINER...]
option은 별거 없고 container id를 여러 개를 띄어쓰기를 이용해서 입력하면 됩니다.
$ docker ps # get container ID
$ docker stop ${TENSORFLOW_CONTAINER_ID}
$ docker ps -a $ show all container
도커 id 는 64자리인데, 앞에 4자리만 해도 됩니다. (앞부분이 겹치지 않는다면)
컨테이너 제거하기 (rm)
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]
종료된 컨테이너를 하나 또는 여러개 삭제할 수 있습니다.
$ docker ps -a # get container ID
$ docker rm ${UBUNTU_CONTAINER_ID} ${TENSORFLOW_CONTAINER_ID}
$ docker ps -a # check exist
여러 개의 중단된 컨테이너를 한꺼번에 삭제하는 커맨드도 있습니다.
$ docker rm -v $(docker ps -a -q -f status=exited)
이미지 목록 확인하기 (images)
$ docker images [OPTIONS] [REPOSITORY[:TAG]]
이미지가 상당히 용량이 많이 잡아먹기 때문에 사용하지 않는 이미지는 지우는 것이 좋습니다
이미지 다운로드하기 (pull)
$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]
이미지가 없을 때 run으로 다운받을 수 있지만, pull 은 최신 버전으로 다시 다운받을 때 사용합니다.
이미지 삭제하기 (rmi)
$ docker rmi [OPTIONS] IMAGE [IMAGE...]
이미지 목록에서 이미지 id를 입력하면 삭제가 됩니다. 컨테이너가 실행 중인 이미지는 삭제되지 않습니다.
컨테이너 둘러보기
컨테이너 로그 보기 (logs)
$ docker logs [OPTIONS] CONTAINER
옵션 -f 는 실시간으로 로그 업데이트 하는 걸 보여줍니다. --tail 옵션이면 마지막 몇줄만 나옵니다. ex) --tail 10
아무 옵션도 주지 않으면 모든 로그가 다 보입니다.
$ docker logs --tail 10 ${WORDPRESS_CONTAINER_ID}
도커는 로그파일을 자동으로 알아채는게 아니라 표준 스트림 중 stdout, stderr를 수집합니다. 따라서 컨테이너 실행되는 프로그램의 로그 설정을 파일이 아닌 표준출력으로 바꿔야 합니다. 단지 출력 방식만 바꾸는 것으로 모든 컨테이너는 로그에 대해 같은 방식으로 관리할 수 있게 됩니다.
컨테이너의 로그파일은 json으로 저장이 됩니다. 로그가 많으면 파일이 차지하는 용량이 커지므로 주의해야 합니다. 앱의 규모가 커지면 로그 서비스를 사용하는 걸 고려해야 합니다.
컨테이너 명령 실행하기 (exec)
컨테이너에 들어가서 파일을 실행하고 싶을 때, SSH 를 설치하지 말고, exec을 활용하는 걸 추천합니다.
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
예를 들어, mysql 컨테이너를 실행하면,
$ docker exec -it mysql /bin/bash
# MySQL test
$ mysql -uroot
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wp |
+--------------------+
5 rows in set (0.00 sec)
mysql> quit
exit
console에 입력을 해야되니 -it 명령어를 주었습니다. 또는, 바로 mysql 명령어를 실행할 수도 있습니다.
$ docker exec -it mysql mysql -uroot
'Cloud > Docker' 카테고리의 다른 글
Docker commit 하고, dockerhub에 push 하기 (0) | 2021.04.13 |
---|---|
컨테이너 업데이트와 Docker Compose (0) | 2020.12.10 |
도커(docker) version, run으로 여러가지 컨테이너 실행하기 (0) | 2020.12.07 |
도커(docker) 설치하고 실행하기 (0) | 2020.12.04 |
도커(docker)의 기본개념(basics) (0) | 2020.12.04 |