docker container commands

컨테이너를 실행하거나 종료하고, 컨테이너 목록을 확인하는 등 컨테이너를 다루기 위해 사용하는 커맨드

docker (container) start

  • 컨테이너를 실행
  • 옵션
    • -i:

docker (container) stop

  • 컨테이너를 정지

docker (container) create

  • 도커 이미지로부터 컨테이너를 생성
  • --name:
  • 옵션
    • --name:
    • -e
    • -p
    • -v

docker (container) run

  • 도커 이미지를 내려받고 컨테이너를 생성해 실행
  • docker image pull + docker container create + docker container start 과 동일
  • 가장 일반적으로 사용하는 명령어
  • 옵션
    • --name:
    • -e
    • -p
    • -v
    • -d
    • -i
    • -t

docker (container) rm

  • 정지 상태의 컨테이너를 삭제
  • 옵션
    • -f
    • -v

docker (container) exec

  • 실행중인 컨테이너 속에서 프로그램을 실행
  • 옵션
    • -i
    • -t

docker container ls | docker ps

  • 컨테이너 목록을 출력
    • 옵션
    • -a

docker (container) commit

  • 도커 컨테이너를 이미지로 변환

docker image commands

이미지를 내려받거나 검색하는 등 이미지와 관련된 기능을 실행하는 커맨드

docker (image) pull

  • 도커 허브 등의 리포지토리에서 이미지를 내려받음

docker image rm | docker rmi

  • 도커 이미지를 삭제

docker image ls

  • 내려 받은 이미지의 목록을 출력

docker (image) build

  • 도커 이미지를 생성

docker solo commands

docker login

  • 도커 레지스트리에 로그인

docker logout

  • 도커 레지스트르에 로그아웃

docker search

  • 도커 레지스트리를 검색

docker version

  • 도커 엔진 및 명령행 도구의 버전을 출력

docker network commands

docker network connect

  • 네트워크에 컨테이너를 새로이 접속 docker network disconnect
  • 네트워크에서 컨테이너의 접속을 끊음 docker network create
  • 네트워크를 생성 docker network inspect
  • 네트워크의 상세정보를 확인 docker network ls
  • 네트워크 목록을 확인 docker network prune
  • 현재 아무 컨테이너도 접속하지 않은 네트워크를 모두 삭제 docker network rm
  • 지정한 네트워크를 삭제

Examples

MySQL 컨테이너 실행 예시

docker run --name {컨테이너 이름} -dit --net={네트워크 이름} -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass mysql --character-set-server={문자 인코딩} --collation-server={정렬 순서} --default-authentication-plugin=mysql_native_password

docker cp {host_dir} {container_name}:{file_name}

  • 호스트에서 컨테이너로 파일 복사

docker cp {container_name}:{file_name} {host_dir}

  • 컨테이너에서 호스트로 파일 복사

볼륨 마운트

  • 도커 엔진이 관리하는 영역 내에 만들어진 볼륨을 컨테이너에 디스크 형태로 마운트
  • 자주 쓰지는 않지만 지우면 안되는 파일을 두는 목적으로 사용

바인드 마운트

  • 도커 엔진에서 관리하지 않는 영역의 기존 디렉터리를 컨테이너에 마운트
  • 자주 쓰는 파일을 두는 목적으로 사용