본문 바로가기
코딩 어쩌구/서버 ・ 깃 ・도커

[Docker] 자주 사용하는 도커 명령어 모음

by annmunju 2023. 8. 28.

Docker 명령어

  • 컨테이너 생성
    • $ docker create [image]
  • 컨테이너 시작 → [container]에는 container name 또는 id 사용 가능
    • $ docker start [container]
  • 컨테이너 생성 및 시작
    • $ docker run [image]
$ docker run \\
   -i \\                                # 컨테이너에 키보드 입력이 필요한경우
   -t \\                                # 컨테이너에 TTY할당하여 터미널 이용이 필요한 경우
   --rm \\                              # 컨테이너 실행 종료후 자동 삭제가 필요할때
   --gpus all \\                        # GPU 전체 사용
   -d \\                                # 백그라운드로 실행하고 싶을 때
   --name hello-world \\                # 이름을 지정하고 싶을때
   -p 80:80 \\                          # 포트 바인딩을 하고 싶을 때
   -v /opt/example:/example \\          # 볼륨 바인딩을 하고 싶을 때
   bbangi/hello-world:latest \\         # 실행할 이미지는 그냥 적어주기
   my-command                          # 마지막은 컨테이너 내에서 실행할 명령어
  • 실행중인 컨테이너 상태 확인
    • $ docker ps
  • 전체 컨테이너 상태 확인
    • $ docker ps -a
  • 컨테이너 상세 정보 확인
    • $ docker inspect [container]
  • 컨테이너 일시 중지
    • $ docker pause [container]
  • 컨테이너 재개
    • $ docker unpause [container]
  • 컨테이너 종료 (SIGTERM 시그널 전달)
    • $ docker stop [container]
  • 모든 컨테이너 종료
    • $ docker stop $(docker ps -a -q)
  • 컨테이너 강제 종료 (SIGKILL 시그널 전달)
    • $ docker kill [container]
  • 컨테이너 삭제 (실행중이지 X)
    • $ docker rm [container]
  • 컨테이너 실행 종료 후 자동 삭제
    • $ docker run --rm ...
  • 컨테이너 강제 종료후 삭제 (SIGKILL 시그널 전달)
    • $ docker rm -f [container]
  • 중지된 모든 컨테이너 삭제
    • $ docker container prune
  • 도커 이미지 빌드하기
    • docker build -t <이미지이름> .

Docker 사용 (Mongo-DB, MySQL)

  • 참고
  • 사용 코드
    • docker run --name mongodb-container -v ~/data:/data/db -d -p 27017:27017 mongo:5.0.17
    • docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 mysql:latest
  • 실행 코드
    • docker exec -it mysql-container bash
    • docker exec -it mongodb-container bash

Dbeaver MongoDB 연결

 

* 도커 내부에 들어가보기 실습

더보기
  1. conda 환경
    1. conda env export --no-builds | grep -v "prefix" > environment.yml
    2. 도커 파일 생성
    FROM continuumio/miniconda3
    
    WORKDIR /workspace
    # ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
    # ENV PATH /opt/conda/bin:$PATH
    
    # 폴더 통채로 이동
    COPY . .
    
    # Create the environment:
    RUN conda env create -f environment.yml
    
    # Activate the environment, and make sure it's activated:
    # RUN conda activate conda_workspace
    
    # 설치시 사용자 입력을 요구하는 것을 방지하는 설정
    ARG DEBIAN_FRONTEND=noninteractive
    
    # RUN ["apt-get", "update"]
    # RUN ["apt-get", "install", "-y", "zsh"]
    # RUN wgethttps://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh || true
    
    RUN apt-get update
    ENV TZ=Asia/Seoul
    RUN apt-get install -y tzdata
    RUN apt-get -y install libgl1-mesa-glx
    
  2. pipenv 환경
    1. 도커 파일 생성
    FROM python:3.9
    WORKDIR /workspace
    
    COPY . .
    
    # 설치시 사용자 입력을 요구하는 것을 방지하는 설정
    ARG DEBIAN_FRONTEND=noninteractive
    
    RUN ["apt-get", "update"]
    RUN ["apt-get", "install", "-y", "zsh"]
    RUN wget <https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh> -O - | zsh || true
    
    RUN apt-get update
    ENV TZ=Asia/Seoul
    RUN apt-get install -y tzdata
    RUN apt-get -y install libgl1-mesa-glx
    RUN /usr/local/bin/python -m pip install --upgrade pip
    RUN pip install pipenv
    
    # ENTRYPOINT ["python", "download_image_file.py"]
    
  3. pipenv 터미널 안에 들어가보기
  4. VScode로 들어가보기
728x90