docker 명령어
이미지 관련 명령어
이미지 검색
docker search
이미지 다운로드
docker pull centos:latest
docker pull centos:7
-a
모든 버전 다운로드
다운로드된 이미지 목록 조회
docker image ls
docker images
이미지 삭제
docker image rm
ex) docker image rm webserver:1.0
컨테이너 관련 명령어
컨테이너 생성
docker create
컨테이너 구동
docker start
컨테이너 중지
docker stop
컨테이너 삭제
docker rm
- 컨테이너만 삭제되고 이미지는 삭제되지 않음
- 구동되고있는 컨테이너는 -f 옵션을 사용해 강제로 종료 +
컨테이너에 표준 입력(stdin)과 표준 출력(stdout)을 연결
docker attach
컨테이너 생성 및 구동
docker run
- 먼저 로컬에 이미지가 있는지 확인하고 없으면 자동으로
pull
하여 생성 docker run
이라는 명령어에는docker pull
,docker create
,docker start
,docker attach
(-it
옵션을 사용했다면)이 포함docker run -dit --name "test" centos /bin/cal
-it
: 현재 터미널이나 콘솔에 결과를 출력---rm
: docker stop 하면 컨테이너 삭제--name "<NAME>"
:컨테이너 이름centos
: 이미지 이름/bin/cal
: 컨테이너에서 실행하는 커맨드-d
컨테이너를 백그라운드에서 계속 실행하겠다-p
컨테이너의 내부 포트와 호스트 컴퓨터의 포트를 연결하기 하기 위한 명령어로 호스트와 컨테이너의 포트를 적어주면 된다.docker run -d -p 8080:80 httpd
,-p [Host]:[Container]
docker run -dit -p 8080:80 httpd --name apache /bin/bash
컨테이너 로그 확인
docker log -f apache
일괄 처리
- windows는 powershell에서만 작동함
모든 컨테이너 정지
docker stop $(docker ps -a -q)
모든 컨테이너 삭제
docker rm $(docker ps -a -q)
모든 이미지 삭제
docker rmi $(docker images -q)
Exit 상태의 모든 컨테이너 삭제
docker rm $(docker ps --filter 'status=exited' -a -q)
잡다한 기술
해당 컨테이너의 포트를 확인하는 방법
docker port httpd
80/tcp -> 0.0.0.0:8080
검색
netstat -ano | findstr :873
- 각 포트별로 연결된
TCP 0.0.0.0:873 0.0.0.0:0 LISTENING 328
TCP [::]:873 [::]:0 LISTENING 328
tasklist | findstr 328
rsync.exe 328 Services 0 4,880 K
Install docker in ubuntu 18.04
### install docker
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install -y docker-ce
### install docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
### confirm
docker --version
docker-compose --version