Docker

Docker 기본 명령어

Dean83 2025. 11. 6. 11:50
  • 컨테이너 형태로 배포 및 실행하여 어디서든 동일한 환경에서 동작하도록 보장하며, 편리하게 배포 가능
    https://dean83.tistory.com/176 여기에도 내용이 있다.
  •  이미지
    • 실행에 필요한 라이브러리, 실행파일 포함한 패키지
    • 한번 구성되면 불변
    • 컨테이너를 실행하기 위핸 설계도의 개념임.
  • 컨테이너
    • 실행환경 구성
    • 이미지를 컨테이너 내에서 실행
    • 격리되어 있어서 여러개 동시에 실행 가능하고 컨테이너 간 영향을 받지 않음

몇몇 커맨드 설명 

  • 대부분은 IDE 에서 가능하므로 잘 쓸일은 없다.

  • docker pull 이름:버전
    • 이미지를 내려 받는다

  • docker stop 이름 혹은 컨테이너 id

  • docker ps -a
    • 도커 컨테이너 목록 조회

  • docker rmi 이름:버전
    • 도커 이미지를 삭제 한다.

  • docker inspect 프로세스아이디
    • 실행중인 도커 컨테이너의 상세 정보를 보여준다.
    • 프로세스아이디는 docker ps 를 통해 확인 할 수 있다. 

  • docker volume create 이름
    • docker를 실행하는 pc에 볼륨을 생성하여, docker 볼륨매핑을 통해 데이터를 동기화 한다.

  • docker run
    • -d 옵션 : 백그라운드에서 동작
    • -e 옵션 : 환경변수 값을 주입하여 실행
    • -p 옵션 : 포트번호 매핑
      • 앞쪽 포트는 컨테이너가 실행되는 pc의 포트
      • 뒤쪽 포트가 컨테이너의 포트
    • -v 옵션 : 볼륨 매핑
      • 앞쪽 인자값은 컨테이너 실행 pc의 디렉토리 (전체경로) 혹은 볼륨 이름
      • 뒤쪽 인자값은 컨테이너 내부 디렉토리
    • --name 옵션 : 컨테이너 이름 지정
    • 이미지명

을 이용하여 도커 이미지를 실행.   \ 를 사용하면, 줄바꿈 하여 명령을 내릴 수 있다.

아래는 실행 예 이다.

docker run -d \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password \ 
-v /Users/Documents/test:/data/db \
--name mymongo \
mongo:8

 

  • docker logs 컨테이너 이름 혹은 아이디
    • -f 옵션 : follow 하여 계속 로깅을 확인
    • -n 숫자 옵션 : 최신 로그 몇개만 확인

  • docker 컨테이너 내 shell 연결
    • IDE 혹은 도커 데스크탑에서  실행중인 컨테이너 선택 -> Cli 혹은 terminal 클릭 하면 접속 가능
    • docker exec -it 컨테이너명 명령어로 실행 가능

 

Docker 네트워크 (포트 바인딩,  포워딩) 

  • 컨테이너 실행시 네트워크는 별도의 네트워크를 가지며, 독립된 IP 주소 등을 갖는다.
  • 외부에서 컨테이너 내부로 바로 접속 할 수 없으므로, 컨테이너 실행 pc로 연결 -> 컨테이너 연결 하게 된다
  • docker 실행시 -p 옵션을 통해 포트 바인딩을 해준다.
    • 컨테이너가 실행되는 pc의 포트번호 : 컨테이너 포트번호

 

Docker 볼륨매핑

  • 컨테이너 내부에 쓰기 가능 구역에 데이터들을 저장하게 된다.
  • docker rm 등 컨테이너를 삭제하면, 해당 데이터 들도 당연히 삭제 된다.
  • 볼륨매핑을 통해, 컨테이너 내부 저장소를 컨테이너가 실행되는 pc에 매핑하여, 데이터를 컨테이너 외부에 저장하도록 한다.
    • 컨테이너의 내부 디렉토리를 외부에 매핑하여, 컨테이너 실행 pc 에도 저장되도록 한다.
    • 양쪽 모두 저장이 되고 동기화가 된다.

 

  • -v 옵션을 통해 매핑한다.
    • 컨테이너 실행 pc의 절대경로 : 컨테이너의 경로
    • 혹은, docker volumn create 를 통해 생성한 볼륨을 매핑한다.

'Docker' 카테고리의 다른 글

Docker network  (0) 2025.11.12
docker 이미지 AWS ECR에 올리기  (0) 2025.11.07
Docker compose  (0) 2025.11.06
Dockerfile 구성 및 빌드(hub에 업로드)  (0) 2025.11.06