Docker 명령 치트 시트 (Cheat Sheet)
Docker는 개발자가 애플리케이션과 해당 종속성을 이식 가능한 이미지로 패키징하여 인기 있는 Linux 또는 Windows 시스템에 게시하고 가상화를 구현할 수 있게 해주는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 컨테이너는 완전히 샌드박스 메커니즘을 사용하며 서로 간에 인터페이스가 없습니다.
일반 사용법
백그라운드에서 컨테이너 시작
docker run -d jenkins대화형 컨테이너 시작
docker run -it ubuntu bash중지 시 자동으로 삭제되는 컨테이너 시작
docker run --rm ubuntu bash 포트 매핑을 사용하여 컨테이너 시작
docker run -p 80:80 -d nginx 이름이 지정된 컨테이너 시작
docker run --name mydb redis 중지된 컨테이너 시작
docker start mydb 컨테이너 중지
docker stop mydb컨테이너 시작 및 메타데이터 추가
docker run -d \ label=traefik.backend=jenkins jenkins이미지 빌드
현재 디렉토리의 Dockerfile에서 이미지 빌드
docker build --tag myimage . 이미지 강제 재빌드
docker build --no-cache . 컨테이너를 이미지로 변환
docker commit c7337 myimage 사용하지 않는 모든 이미지 삭제
docker rmi $(docker images -q -f "dangling=true")디버그
실행 중인 컨테이너에 로그인
docker exec -it c7337 docker데몬으로 실행 중인 컨테이너의 활동 로그 표시
docker logs -f c7337컨테이너의 노출된 포트 표시
docker port c7337볼륨 및 네트워크
로컬 볼륨 생성
docker volume create --name myvol 컨테이너 시작 시 볼륨 마운트
docker run -v myvol:/data redis볼륨 제거
docker volume rm myvol 모든 볼륨 나열
docker volume ls로컬 네트워크 생성
docker network create mynet 시작 시 컨테이너를 네트워크에 연결
docker run -d --net mynet redis컨테이너를 특정 네트워크에 연결
docker network connect mynet c7337 네트워크에서 컨테이너 연결 해제
docker network disconnect mynet c7337컨테이너 관리
실행 중인 컨테이너 나열
docker ps모든 컨테이너 나열 (실행 중 및 중지된 컨테이너 포함)
docker ps -a컨테이너 메타데이터 검사
docker inspect c7337로컬의 모든 가용 이미지 나열
docker images중지된 모든 컨테이너 삭제
docker rm $(docker ps --filter status=exited -q) 특정 라벨이 있는 모든 컨테이너 나열
docker ps --filter label=traefik.backend실행 중인 컨테이너의 IP 주소 조회
docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337설명
이미지 이름
redis, jenkins, nginx컨테이너 이름 또는 커밋 ID
mydb # 컨테이너 이름
c7337 # 커밋 ID