👉 이전글
[도커] 어바웃 가상화 그리고 도커 핵심 정리
0. 강추 추천 강의 개발자를 위한 쉬운 도커 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다.
progfrog.tistory.com
📌 명령어 정리
# 컨테이너에 명령 실행하기
docker exec -it postgres /bin/bash
# 클라이언트, 서버 버전 및 상태 확인
docker version
# 플러그인, 시스템 상세 정보 확인
docker info
# 메뉴얼 확인
docker --help
# 컨테이너 실행
docker run -p 80:80 --name hellonginx nginx
# 컨테이너 삭제
docker rm hellonginx
# 실행 중인 컨테이너 삭제
docker rm -f hellonginx
# 컨테이너 로그 조회
docker logs -f leafy-postgres
# 이미지 조회
docker images
docker images nginx
# 실행 중인 컨테이너 리스트 조회
docker ps
# 꺼진 것 포함 모든 컨테이너 리스트 조회
docker ps -a
# 이미지의 세부 정보 조회
docker image inspect nginx
# 컨테이너의 세부 정보 조회
docker container inspect hellonginx
# 컨테이너 실행 시 메타데이터의 cmd 덮어쓰기
docker run --name customCmd nginx cat usr/share/nginx/html/index.html
# 컨테이너 실행 시 메타데이터의 env 덮어쓰기
docker run -d -p 8080:3000 --name blueColorApp --env COLOR=blue devwikirepo/envnodecolorapp
# 컨테이너 켜기
docker start hellonginx
# 컨테이너 끄기
docker stop hellonginx
# 컨테이너 재시작하기
docker restart hellonginx
# 로컬 스토리지로 이미지 다운로드
docker pull devwikirepo/simple-web:1.0
# 로컬 스토리지의 이미지명 추가
docker tag devwikirepo/simple-web:1.0 happyprogfrog/my-simple-web:0.1
# 이미지 레지스트리에 이미지 업로드
docker push happyprogfrog/my-simple-web:0.1
# 이미지 레지스트리 인증 정보 생성
docker login
# 이미지 레지스트리 인증 정보 삭제
docker logout
# 로컬 스토리지의 이미지 삭제
docker image rm happyprogfrog/my-simple-web:0.1
# 이미지의 레이어 이력 조회
docker image history devwikirepo/hello-nginx
# 이미지 실행과 동시에 터미널 접속
docker run -it --name officialNginx nginx /bin/bash
# index.html 내용 변경
echo hello-my-nginx > /usr/share/nginx/html/index.html
# 실행 중인 컨테이너를 이미지로 생성
docker commit -m "edited index.html" -c 'CMD ["nginx", "-g", "daemon off;"]' officialNginx happpyprogfrog/commitnginx
# 컨테이너로 실행
docker run -d -p 80:80 --name my-nginx happpyprogfrog/commitnginx
# 도커 파일 경로 지정해서 빌드
docker build -t happyprogfrog/buildnginx .
# 빌드로 제작한 이미지로 컨테이너 실행
docker run -d -p 80:80 --name build-nginx happyprogfrog/buildnginx
# 네트워크 리스트 조회
docker network ls
# 네트워크 상세 정보 조회
docker network inspect 네트워크명
# 네트워크 생성
docker network create 네트워크명
# 네트워크 삭제
docker network rm 네트워크명
# 네트워크 생성
docker network create leafy-network
# 네트워크 지정해서 postgres 컨테이너 생성
docker run -d --name leafy-postgres --network leafy-network devwikirepo/leafy-postgres:1.0.0
# 네트워크 지정 & 8080 포트 포트포워딩 & DB_URL을 postgres 컨테이너의 이름으로 지정
docker run -d -p 8080:8080 -e DB_URL=leafy-postgres --network leafy-network --name leafy devwikirepo/leafy-backend:1.0.0
# 네트워크 지정 & 80 포트 포트포워딩
docker run -d -p 80:80 --network leafy-network --name leafy-front devwikirepo/leafy-frontend:1.0.0
# 도커 볼륨 생성
docker volume create mydata
# 도커 볼륨 확인
docker volume ls
# 볼륨을 마운트한 postgres 컨테이너 실행
docker run -d --name my-postgres -e POSTGRES_PASSWORD=password -v mydata:/var/lib/postgresql/data postgres:13
# YAML 파일에 정의된 서비스 생성 및 시작
docker compose up -d
# 현재 실행 중인 서비스 상태 표시
docker compose ps
# 현재 실행 중인 서비스의 이미지만 빌드
docker compose build
# 로컬에 이미지가 있어도 다시 이미지를 빌드
docker compose up -d --build
# 실행 중인 서비스의 로그 표시
docker compose logs
# YAML 파일에 정의된 서비스 종료 및 제거
docker compose down
# 볼륨도 함께 삭제
docker compose down -v
반응형