컨테이너의 기본적인 사용법
도커 명령어
- 기본적으로 커멘트에 docker를 입력하면 명령어들의 모음이 나온다.
자주 사용하는 명령어 모음
| 옵션 |
설명 |
| docker version |
Docker 버전 및 상세정보 확인 |
| docker system info |
Docker의 시스템 전체 정보 확인 |
| docker system df |
도커 디스크의 사용양 확인 |
| docker images |
docker 이미지 목록 확인 |
| docker search [옵션] <검색어> |
docker hub image 검 |
| docker build -t [dockerHub ID]/[이미지명] . |
dockerfile로 image 생성 |
| docker rmi [이미지 ID] |
image 삭제 |
| docker ps |
현재 실행중인 컨테이너 확인 |
| docker ps -a |
실행, 중지중 컨테이너 확인 |
| docker rm [컨테이너 ID] |
컨테이너 ID 1개 삭제 |
| docker rm ‘docker ps -a -q’ |
컨테이너 전체 삭제 |
| docker attach [컨테이너명, ID] |
컨테이너의 접속 |
| docker start[컨테이너명, ID] |
컨테이너 시작 |
| docker stop[컨테이너명, ID] |
컨테이너 중지 |
| docker restart[컨테이너명, ID] |
컨테이너 재시작 |
| docker rename[현재 컨테이너명] <변경할 컨테이너 이름> |
컨테이너 이름 변경 |
version 명령어 사용 시 화면

조작 관련 커맨드
볼륨을 영구적으로 사용할 수 있는 방법은 3가지가 존재한다.
- 호스트 볼륨 사용
- 호스트 운영체제의 디렉토리를 컨테이너 내에 마운트 시키는 작업
- 볼륨 컨테이너를 이용하는 방법
- 빈 컨테이너를 만들어 다른 컨테이너들이 빈 컨테이너를 참조하는 방식으로 구성
- 도커 볼륨을 이용하는 방법
- 도커가 제공하는 볼륨 관리 기능을 통해 생성과 삭제를 관리
볼륨 조작
| 옵션 |
설명 |
| docker volume create [볼륨 이름] |
볼륨 생성 |
| docker volume ls |
볼륨 목록 확인 |
| docker volume inspect [볼륨 이름] |
볼륨 상세 정보 확인 |
| docker volume rm [볼륨 이름] |
볼륨 삭제 |
| docker volume prune |
마운트가 없는 볼륨 삭제 |
네트워크 조작
Docker 네트워크는 목적에 따라 다양한 종류의 네트워크 드라이버를 지원한다.
- bridge : 하나의 호스트 컴퓨터 내에서 컨테이너들간 소통할 수 있도록 한다.
- host : 컨테이너를 호스트 컴퓨터와 동일한 네트워크 상에 올린다.
- overlay : 여러 호스트에 분산되어 있는 컨테이너들 간에 연결을 위해 사용한다.
| 옵션 |
설명 |
| docker network ls |
Docker 네트워크 조회 |
| docker network create [네트워크 이름] |
새로운 네트워크 생성 |
| docker network inspect [네트워크 이름] |
네트워크 상세 정보 확인 |
| docker network connect [컨테이너 이름] [네트워크 이름] |
네트워크 연결 |
| docker network disconnect [컨테이너 이름] [네트워크 이름] |
네트워크 연결 해제 |
| docker network rm [네트워크 이름] |
네트워크 삭제 |
| docker network prune |
불필요한 네트워크 전부 삭제 |
컨테이너의 통신
아파치란?
WAS(Web Application Server) 라고 부르며 웹 브라우저와 같은 클라이언트들로부터 HTTP 요청을 받아들이고, 웹페이지를 반환하는 프로그램이다.
장점
- 오래 사용된 만큼 거의 모든 OS환경에서 실행을 지원하고, 다양한 모듈을 가지고 있다.
- 클라이언트 요청을 처리하기 위해 멀티 스레드 방식을 따른다.
- 자체적으로 동적 컨텐츠를 처리한다.
단점
- CPU, 메모리 자원 낭비가 심하다.
- 대규모 요청이 들어왔을 때 스레드 생성 비용이 들어 한계가 정해져 있다.
컨테이너와 통신하기 위한 방법
컨테이너와 컨테이너간의 통신
- docker network connect 명령어를 통해 해당 브릿지에 연결
- 다른 컨테이너 또한 같은 브릿지에 연결
- Ping 명령어를 통해 통신이 되는 지 확인인
컨테이너 생성에 익숙해지기
다양한 유형의 컨테이너
- 컨테이너에는 OS, 웹서버, DB 등 다양한 유형의 컨테이너들을 올릴 수 있다.
- 컨테이너 실행 방법은 도커 허브에 공식 이미지를 확인하면 사용 방법을 알 수 있다.
아파치 컨테이너를 여러 개 실행하기
docker run --name apache1 -d -p 8080:80 httpd
docker run --name apache2 -d -p 8079:80 httpd
- 포트 바인딩을 다른 포트로 안주면 바인딩 에러가 나므로 같은 컨테이너를 생성하더라도 포트를 다르게 설정해 주어야 된다.
Nginx 컨테이너 실행하기
docker run --name nginx --name nginx -d -p 8078:80 nginx
MySQL 컨테이너 실행하기
docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql