내가 필요해서 정리하는 Docker 기본 명령어
Docker 초보자를 위한 cli commands
내가 필요해서 간략하게 정리하는 Docker에서 사용할 수 있는 기본 명령어입니다.
도커 이미지
- 도커 허브(Docker Hub)에서 공개된 도커 이미지 검색
이미지 이름 구조: [저장소 이름(계정)]/[이미지 이름]: [태그(버젼)]
-
docker image pull {myrepo}/{myimage}:{1.0}
: myrepo에 저장된(=myrepo 계정에서 올린) myimage의 1.0 버젼 도커 이미지 내려받기 -
docker image ls
: 도커 이미지 목록 확인 -
docker image rm {myrepo}/{myimage}:{1.0}
: 로컬 컴퓨터에 저장된 myrepo/myimage 1.0 버젼의 도커 이미지 삭제 =docker rmi {myrepo}/{myimage}:{1.0}
도커 컨테이너
-
docker -v
: 도커 버젼 확인 docker container run [OPTIONS] {myrepo}/{myimage}:{1.0}
: myrepo/myimage 1.0 버젼의 도커 컨테이너 생성(= 도커 이미지 실행)- [OPTIONS]
--name {myDocker}
: myDocker라는 이름 부여 -p {5000}:{80}
: [호스트의 포트]:[컨테이너의 포트] 바인딩-i -t
: 컨테이너와 상호(interactive) 입출력. 즉, 컨테이너 내부로 진입 가능.-rm
: 컨테이너 일회성 실행. 즉, 컨테이너 종료될 때 컨테이너와 관련된 리소스 모두 제거- 예:
docker container run --name ibm_mongo --rm -p 5000:80 ibmcom/mongodb:latest
- [OPTIONS]
-
docker exec -it {ibm_mongo} /bin/bash
: 컨테이너 내부 진입 docker container ps
: 도커 컨테이너 목록 확인- [OPTIONS]
-a
: 정지된 컨테이너까지 모두 확인
- [OPTIONS]
docker rename {myDocker} {myDocker2}
: myDocker인 도커 컨테이너의 이름을 myDocker2로 변경docker stop {myDocker2}
: myDocker2 도커 컨테이너 정지docker rm {myDocker2}
: myDocker2 도커 컨테이너 삭제
도커 이미지 생성 및 배포
-
docker build -t {myimage}:{3.0}
: 현재 경로의 도커파일(Dockerfile)로 myimage 3.0 이미지 생성 -
docker commit [OPTIONS] container {myimage}:{3.5}
: 현재 컨테이너를 myimage 3.5 이미지로 생성 -
docker image push {myrepo}/{myimage}:{latest}
: myrepo에 myimage의 2.0 버젼 올리기
도커 컴포즈: 두 컨테이너 연결
- 1단계: 현재 경로에
docker-compose.yml
파일 생성(작성 예) version: '3' servies: node: image: circleci/node:latest ports: - "2000: 2000" links: - mongo:node mongo: image: ibmcom/mongodb:latest
- 2단계:
docker compose up -d
를 실행하여 현재 경로의docker-compose.yml
파일을 읽어 컨테이너 생성 - 3단계: 인터넷 브라우져에서 localhost:2000에서 연결 확인