도커 기본 명령어
컨테이너 삭제
$ docker rm [컨테이너] # docker rm 컨테이너1, 컨테이너2, 컨테이너3 가능
$ docker rm -f [컨테이너] # 실행중인 컨테이너 강제 삭제
실행 중인 컨테이너 확인
$ docker ps
$ docker ps -a # 중지된 도커 컨테이너 포함 확인
로컬 ps 저장된 이미지 확인
$ docker images
컨테이너 만들고 실행하기
$ docker run [이미지]
$ docker run -it [이미지] # interactive(stidin, stdout, stderr 하게 해주는 명령어), pseudo-TTY 실행(터미널환경 제공)
실행 중인 컨테이너 접속 혹은 명령
$ docker exec -it [컨테이너명] /bin/bash
$ docker attach # attach 는 -it 사용하지 않음
즉, attach 는 추가적인 명령을 하고자 하는게 아니라 실행 중인 프로레스에 연결하기 위함이고 exec 는 컨테이너에 새로운 명령을 실행하기 위함
- Attach isn't for running an extra thing in a container, it's for attaching to the running process.
- "docker exec" is specifically for running new things in a already started container, be it a shell or some other process.
https://stackoverflow.com/questions/30960686/difference-between-docker-attach-and-docker-exec
포트 지정 컨테이너 실행
$ docker run -it -p [호스트포트:컨테이너포트] [이미지명]
도커 컨테이너를 만들어 놓은 상태에서는 포트번호 변경 불가능, 다시 만들어야 함
이를 위해서 컨테이너를 중지하고 이를 이미지 생성후 다시 컨테이너를 생성해서 만들자
$ docker stop [컨테이너명]
$ docker commit [컨테이너명] [생성할 이미지명]
$ docker run -it -p [호스트포트:컨테이너포트] [생성할 이미지명]
컨테이너 중지 없이 나가기 명령어
control + p + q
우분투 이미지 초기 실행시 자주 설치하는 명령어 및 패키지
$ apt-get update && apt-get upgrade
$ apt-get install vim
$ apt-get install net-tools # ifconfig 같은 명령어 많이 사용