👾개발지식/DevOps
도커 기본 명령어
서버요정 호토론
2021. 11. 8. 14:57
도커 설치하기 (ubuntu 18.04)
$ sudo apt update
$ sudo apt install 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 docker-ce
$ sudo systemctl status docker
도커 엔진 버전 확인
$ docker -v
컨테이너 생성
- 컨테이너 생성 및 실행
-i
: 상호 입출력-t
: tty를 활성화해서 bash셸을 사용하도록 설정-i -t
: 컨테이너 내부로 진입하도록 attach 가능한 상태로 설정-d
: detached모드로 컨테이너 실행, 컨테이너를 백그라운드에서 동작하는 애플리케이션으로써 실행하도록 설정 $ docker run -i -t ubuntu:18.04
- 컨테이너 내부에서 빠져나오기 && 컨테이너 정지
exit
또는ctrl + d
입력 - 컨테이너를 정지하지 않고 빠져나오기
ctrl + p, q
입력 - 이미지 내려받기
$ docker pull ubuntu:18.04
- 도커 엔진에 존재하는 이미지의 목록 출력
$ docker images
- 컨테이너 생성
--name
: 컨테이너의 이름 설정 $ docker create -i -t --name myubuntu ubuntu:18.04
- 컨테이너 시작
$ docker start myubuntu
- 컨테이너 내부로 들어가기
$ docker attach myubuntu
run = pull + create + start + attach
create = pull + cteate
컨테이너 목록 확인
$ docker ps -a
-a
: 정지된 컨테이너 포함 모든 컨테이너 출력Exited
: 정지된 상태Up
: 실행 중인 상태
컨테이너 삭제 및 정지
- 컨테이너 삭제
-f
: 실행중인 컨테이너까지 삭제 $ docker rm -f myubuntu
- 컨테이너 중지
$ docker stop myubuntu
- 모든 컨테이너 삭제하기
$ docker container prune
컨테이너를 외부에 노출
- 컨테이너의 네트워크 인터페이스 확인
root# ifconfig
- eth0의 ip, port를 호스트의 ip, port와 바인딩
$ docker run -i -t --name mywebserver -p 8000:80 ubuntu:18.04
-p
: 컨테이너의 포트를 호스트의 포트와 바인딩
호스트의 8000번 포트를 컨테이너의 80번 포트와 연결하겠다.