hyuko

Docker 의 여러가지 명령어 및 컨테이너 이해 본문

Docker/2023.07.06

Docker 의 여러가지 명령어 및 컨테이너 이해

hyuko12 2023. 7. 6. 11:04
728x90
반응형

도커에서 자주쓰이는 명령어를 알아보도록 하겠습니다.

 

# 도커 컨테이너 관련 라인들
docker start {{컨테이너 이름 및 id}} # 디폴트값이 detached모드로 컨테이너 실행
docker run  {{컨테이너 이름 및 id}} # 디폴트값이 attached모드로 컨테이너 실행
docker ps # 현재 실행중인 도커 컨테이너정보
docker ps -a # 전체 컨테이너 정보 출력
docker rm {{컨테이너 이름 및 id}} # 해당하는 컨테이너를 삭제하기
docker rm {{컨테이너 이름 및 id}}, {{컨테이너 이름 및 id}}, {{컨테이너 이름 및 id}} # 여러개 삭제하기
docker rm `docker ps -a -q` # 전체 컨테이너 삭제하기

# 도커 이미지 관련 
docker images # 현재 실행중인 이미지 확인
docker images -q # 이미지의 id만 출력가능
docker rmi {{이미지 id}} # 이미지 id로 해당 도커 이미지 삭제
docker rmi {{REPOSITORY: TAG}} # 해당 레포지토리와 TAG를 통한 이미지 삭제

# 여러가지 예제
# 1) repository 또는 tag가 <none>인 이미지 삭제하기
docker rmi $(docker images -q --filter "dangling=true")

#위의 코드에서 알수 있듯이 filter를 통해서 내가원하는 패턴을 가지고 있는 이미지들만 모아서 삭제도 가능!!!
docker rmi $(docker images -q --filter "reference=docker/*")

# 내가 특정한 이미지 기준으로 생성된지 오래된 이미지들 모두 삭제 (기준이 되는 이미지 미포함)
# 여기서 주의 할 점은 docker image를 나의 local에 pull받은 날짜 기준이 아닙니다.
# 순서상입니다!!

docker rmi $(docker images -q --filter "before=IMG_ID")

# 특정이미지 기준 최신인 이미지들 삭제( 기준이 되는 이미지 미포함 ) 동일하게 날짜기준이 아니다.
docker rmi $(docker images -q --filter "since=IMG_ID")

# 사용되지 않는 이미지 모두 삭제하기
docker image prune

# 이미지를 실행하고 컨테이너가 중지 할 때마다 항상 제거하도록 하는 명령
docker run -p {{포트 번호: 00}} -d --rm {{이미지 id}}

 

다음으로 알아볼 것에는 

컨테이너에서 로컬 혹은 컨테이너에서 컨테이너 로컬에서 컨테이너등으로 파일을 복사하는 플로우를 알아볼 예정입니다

 

# 항상 가장먼저 해야 할 것은 돌아가는 docker의 컨테이너 확인입니다.
docker ps

# 확인을 했을 때 내가 원하는 컨테이너를 선택해서 해당 컨테이너 이름이나 id값을 가져옵니다.

docker cp tender_johnson:/test/test.txt dummy

# 위의 코드에 설명은 cp 를 쓰게 되면 복사를 한다는 의미이고 앞에오는 것은 
# 어떠한 곳에서 복사할 것인지 어떤 파일을 복사할 것인지를 명시한다.
# 두번째 띄어쓴후 적힌 곳은 어디에 복사할 것인지 경로를 잡아준다.

 

컨테이너와 이미지에 이름 지정과 태그 지정하는 법

# 도커 이미지를 빌드 할때 레포지토리와 태그를 지정가능하다
docker build -t goals:latest .

# 도커 컨테이너를 실행할 당시에 이름을 지정가능합니다.
docker run --name goalsapp {{image id}}
728x90
반응형

'Docker > 2023.07.06' 카테고리의 다른 글

도커파일 작성과 도커허브에 push & pull  (0) 2023.07.06