특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행하기에 좋습니다.
컨테이너를 사용해서 각 프로그램을 분리된 환경에서 실행할 수 있도록 합니다.
컨테이너를 만드는 데 사용되는 읽기 전용(read-only) 템플릿이다.
컨테이너 실행에 필요한 Dockerfile을 빌드하여 이미지를 만듭니다.
도커 이미지를 실행시킨 상태입니다.
- docker [대상][액션]
- 대상: container(생략 가능), image, volume, network 등
- 액션: ls, start, run 등
- docker pull [이미지]
- 특정 이미지(도커 허브에 있는 이미지) 다운 받기
- 디폴트는 latest 버전이고 [이미지명]:[태그명]으로 버전 지정
- docker image ls
- 받은 이미지 확인하기
- REPOSITORY : 이미지 명
- TAG: 이미지 태그명 (버전)
- IMAGE ID
- CREATED: 이미지가 생성된 날짜
- SIZE
- dokcer image rm -f [이미지 ID 또는 이미지명]
- -f가 있으면 실행 중인 컨테이너를 강제로 삭제할 수 있다
- docker images -q
- 시스템에 있는 모든 이미지 ID를 반환한다
- docker image rm -f $(docker images -q)
- 사용하고 있지 않은 이미지 전체 삭제
- docker run [이미지 ID 또는 이미지명]
- 로컬 이미지가 있다면 해당 이미지로 실행하고, 없으면 도커 허브에서 다운 후 실행
- create + start: 컨테이너 생성 및 실행
- docker ps
- 실행 중인 컨테이너들의 목록을 확인
- docker container ls와 같음
- docker ps - a
- 모든 컨테이너 조회
- docker stop [컨테이너 ID 또는 컨테이너명]
- docker kill [컨테이너 ID 또는 컨테이너명]
- docker run -d -p 8080:80 nginx
- 호스트의 8080번 포트를 컨테이너의 80번 포트로 연결
- localhost:8080으로 접속하면 nginx 서버 접속 가능
- -d가 있으면 백그라운드에서 실행
- docker logs -f [컨테이너 ID 또는 컨테이너명]
- 기존의 로그 + 실시간으로 쌓이는 로그 확인
- -f : follow의 약어
- docker exec -it [컨테이너 ID 또는 컨테이너명] dash
- 실행 중인 컨테이너에 접속
- -it옵션을 적어야 계속 명령어 입력 가능