본문 바로가기
DevOps

[Docker] 명령어 정리

by 떤떤 2023. 11. 28.

안녕하세요. 자주 사용하는 Docker 명령어를 정리해보았습니다.

 

실행 중인 컨테이너 목록 확인

  • -a: 중지된 컨테이너도 확인 할 수 있음(-all)
docker ps

 

실행 중인 컨테이너 중지

  • 실행중인 컨테이너 하나 또는 여러개 중지 가능
docker stop

 

컨테이너 제거

docker rm

 

컨테이너 로그 확인

docker logs

 

이미지 목록 확인

docker images

 

이미지 다운로드

docker pull
docker pull [OPTIONS] NAME[:TAG|@DEGEST] docker pull ubuntu:18.04

 

이미지 삭제

docker rmi

 

네트워크 생성

  • 도커 컨테이너끼리 이름으로 통신할 수 있는 가상 네트워크 생성
docker network create
docker network create [OPTIONS] ${network_name} docker network create app-network

 

기존에 생성된 컨테이너에 네트워크 추가

docker network connect
docker network connect [OPTIONS] ${network_name} ${container_name} docker network connect app-network mysql

 

컨테이너 실행

  • 컨테이너 실행 명령어
  • 사용할 이미지가 저장되어 있는지 확인하고 없으면 다운로드(pull)한 후 컨테이너 생성하고 시작함, 컨테이너는 정상적으로 실행됐지만 명령어를 전달하지 않았다면 컨테이너는 생성되자마자 종료됨. (컨테이너는 프로세스이기 때문에 실행중인 프로세스가 없다면 컨테이너는 종료된다.)
  • -d(detached mode): 백그라운드 모드
  • -p: 호스트와 컨테이너의 포트를 연결 ${host_port}:${container_port}
  • -v(volume mount): 호스트와 컨테이너의 디렉토리 연결, 도커에서 database 컨테이너를 삭제 했을 때 데이터는 다 삭제된다. 새로 실행 했을 때 해당 db에 저장되어 있던 데이터를 다시 사용하고 싶다면 저장폴더 수정해주면 됨
  • -e: 컨테이너 내에서 사용할 환경변수 설정
  • --name: 컨테이너 이름 설정
  • --rm: 프로세스 종료시 컨테이너 자동 제거
  • -it: -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션
  • --network: 네트워크 연결
  • example (redis 컨테이너)
  • redis 컨테이너 실행, 포트 매칭, 종료 시 삭제 docker run --rm -p 1234:6397 redis
docker run

 

실행 중인 컨테이너 접속

  • 실행중인 컨테이너에 접속할 때 사용
  • 컨테이너 안에 ssh server 등을 설치하지 않고 exec 명령어로 접속할 수 있음
docker exec
docker exec -it ${image_name} redis-cli

 

'DevOps' 카테고리의 다른 글

GitHub Actions으로 CI/CD 자동화하기  (0) 2024.03.06