IT 기술 관련/DevOps / / 2024. 3. 19. 13:40

자주 쓰는 도커 명령어

자주 쓰는 도커 명령어를 정리해 봤습니다. 기억력이 좋지 않아서.. ㅎㅎ

더 자세한 것은 docker reference를 참고하시면 됩니다. https://docs.docker.com/reference/cli/docker/

컨테이너 관리

# 이미지 기반 컨테이너 실행
# 이미지가 없을 경우 pull(이미지 다운로드)까지 같이 수행
# 타임존을 조정하려면 -e TZ=Asia/Seoul 같은 형식으로 타임존 설정 추가
# 옵션 설명
# -d : detach mode (--detach 와 동일)
# -i : 표준 입력 활성 (--interactive 와 동일)
# -t : tty 모드 사용 (--tty 와 동일)
# -p : 호스트, 컨테이너 포트 연결 (--publish 와 동일)
# --rm : 프로세스 종료시 컨테이너 제거
# --restart : 컨테이너 종료시, 재시작 정책 (예 : --restart='always')
# -v : 호스트 볼륨 마운트 (--volume 과 동일)
# -u : 컨테이너가 실행될 사용자 아이디 (--user와 동일)
형식 : docker run --name -d -p [외부 포트]:[도커 내부 포트] -v [외부 볼륨]:[내부 볼륨] -e key=value [이미지명]
예시 : docker run --name mysql-dev -d -p 23306:3306 -v /var/mysql-data:/var/lib/mysql mysql

# 컨테이너 상태(프로세스) 조회
$docker ps // 실행중인 컨테이너만 조회
$docker ps -a // 프로세스 종료된 컨테이너도 조회
$docker ps --no-trunc // no-trunc 옵션은 command 전체를 볼수 있게 출력

# 컨테이너 목록 조회
$docker container ls

# 컨테이너 종료
형식 : $docker stop [컨테이너 아이디 또는 컨테이너 명]
예시 : $docker stop nginx

# 컨테이너 시작
형식 : $docker start [컨테이너 아이디 또는 컨테이너 명]
예시 : $docker start nginx 

# 컨테이너 재시작
형식 : $docker restart [컨테이너 아이디 또는 컨테이너 명]
예시 : $docker restart nginx 

# 컨테이너 접속
형식 : $docker attach [컨테이너 아이디 또는 컨테이너 명]
예시 : $docker attach nginx

# 로그 확인
형식 : $docker logs --tail [라인갯수] -f [컨테이너 아이디 또는 컨테이너 명]
예시 : $docker logs --tail 10 -f mariadb // -f 옵션이 들어가면 실시간 tailing됨 

# 도커 내부 명령어 실행
형식 : $docker exec -it [컨테이너 아이디 또는 컨테이너 명] /bin/bash
예시 : $docker exec -it nginx /bin/bash

# 컨테이너 삭제
형식 : $docker rm [컨테이너 아이디 또는 컨테이너 명]
예시 : $docker rm nginx-dev // nginx-dev 라는 이름의 컨테이너 삭제

# 컨테이너 이름 변경
형식 : $docker rename [현재 이름] [변경할 이름]
예시 : $docker rename nginx-dev nginx-dev-stage

 

이미지 관리

# 이미지 다운로드
# 이미지 url은 각 저장소마다 다를수 있으니 미리 확인 필요
형식 : $docker pull [저장소 uri, 없으면 default docker hub]/[이미지 명]
예시 : $docker pull sample.com:5000/nginx // 사설 저장소의 nginx 마지막(lastest)버전 이미지 다운로드

# 이미지 조회
$docker images

# 이미지 삭제
형식 : $docker rmi [이미지명]:[태그명]
예시 : $docker rmi nginx:1.4

 

저장소 접근

# docker 사설 저장소 접근
형식 : $docker login [사설저장소 uri] -u [사용자 계정] -p [사용자 암호]
예시 : $docker login registry.sample.com:5000 -u rockbach -p qwer1234

 

자주 쓰는 명령어

# 도커 허브의 공식 페이지를 확인해보면 기본적인 실행 방법에서부터 제공하는 옵션들이 설명되어 있음

# mysql
docker run --name mysql-dev -d -e MYSQL_ROOT_PASSWORD=pass1+3 -p 13306:3306 -v /my/mysql-dev/conf:/etc/mysql/conf.d mysql
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유