0. 기본 요소
- docker는 image와 container로 구성됩니다.
- image 이름은 기본적으로 -저장소 이름-/-이미지 이름-:-이미지 버전- 의 형태로 구성됩니다.
- container는 image를 읽기 전용으로 사용하며 변경되는 사항만 container 계층에 저장하기 때문에 container에서 무엇을 하던 image에는 영향을 주지 않습니다.
1. 기본 사용법
[옵션]
- -d 백그라운드로 작동합니다.
- -p 포트 설정을 합니다.
- -v 저장 공간을 설정합니다.
- docker -v
- docker run -i -t -이미지 이름-:-이미지 버전-
- i 옵션은 입출력을 보여주고 t 옵션은 tty 터미널을 띄워줍니다.
- ctrl+P,Q를 통해 container에서 detach가 가능합니다.
- 저장소 이름을 명시해주지 않으면 docker hub에서 자동적으로 내려받습니다.
- --name 옵션을 통해 container 이름을 설정이 가능합니다.
- docker pull -이미지 이름-:-이미지 버전-
- docker images
- docker start -container 이름-
- stop 상태의 container를 다시 실행시킵니다.
- docker attach -컨테이너 이름-
- detach 상태의 container에 다시 attach 합니다.
- docker create -i -t --name -컨테이너 이름- -이미지 이름-:-이미지 버전-
- image를 내려받아 container를 만들어 줍니다.
- docker ps
- 현재 detach상태의 container 목록을 보여줍니다.
- -a 옵션을 통해 stop 상태의 container들도 볼 수 있습니다.
- docker inspect -컨테이너 이름-
- container의 ID등 정보들을 보여줍니다.
- docker rename -원래 이름- -바꿀 이름-
- container의 이름을 원래 이름에서 바꿀 이름으로 바꾸어 줍니다.
- docker container prune
- 모든 container가 stop 상태일 때 모든 container들을 삭제합니다.
- docker rm -컨테이너 이름-
- 해당 container가 stop상태 일때 삭제합니다.
- docker port -컨테이너 이름-
- 컨테이너의 호스트와 연결된 포트를 보여줍니다.
- docker exec -i -t -컨테이너 이름- -명령어-
- 해당 컨테이너에서 명령어를 실행시킵니다.
- 보통 /bin/bash를 통해 쉘을 실행시켜 상호 입출력을 할 수 있도록 합니다.
- docker volume
1) 호스트 볼륨 공유
- docker create -i -t --name -컨테이너 이름- -v -호스트 저장공간-:-컨테이너 저장공간-
을 통해 호스트의 저장공간과 컨테이너의 저장공간을 마운트 해줍니다.