자주 쓰는 도커 명령어를 정리해 봤습니다. 기억력이 좋지 않아서.. ㅎㅎ
더 자세한 것은 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
반응형
'IT 기술 관련 > DevOps' 카테고리의 다른 글
공휴일 api 연동 중 임시 공휴일이나 대체 공휴일 보완방법 (2) | 2025.01.23 |
---|---|
Redis? Caffeine? 적절한 캐시 활용 (0) | 2024.07.26 |
[spring] 실시간 로그 레벨 조정 (0) | 2023.07.17 |
[spring] netty http 413 error 발생 처리 (url 길이 오류 관련) (0) | 2023.06.30 |
[spring] application.yml 설정 우선 순위(with config server) (0) | 2023.06.26 |