내가 필요해서 간략하게 정리하는 Docker에서 사용할 수 있는 기본 명령어입니다.

도커 이미지

이미지 이름 구조: [저장소 이름(계정)]/[이미지 이름]: [태그(버젼)]
  • 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
  • docker exec -it {ibm_mongo} /bin/bash : 컨테이너 내부 진입

  • docker container ps : 도커 컨테이너 목록 확인
    • [OPTIONS] -a : 정지된 컨테이너까지 모두 확인
  • 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에서 연결 확인

덧붙이는 말: 혹시 오류가 있다면 제보 주세요!