로컬 환경에서 벗어난 docker를 위한 일

5210 단어 Docker초학자

이마


이 글은 Docker Advent Calendar 2018 19일째 글이다.
안녕하세요.
거의 다 됐어. 이 Docker 초보자는 졸업해야 할 엔지니어야.
이 글은 Docker를 배우기 위해 현지 환경에서 여러 가지 실험을 한 결과입니다.
"이 인상이 뭐예요?""왜 컨테이너를 작동시켜요?"내가 잘 모르는 경험을 바탕으로 나는 현지 환경을 떠나기 위해 내가 해야 할 일을 총결하였다.
만약 이 보도가 첫 번째 학자를 도울 수 있다면 정말 좋겠다.

로컬 환경 전제 조건

  • OS: Mac
  • 기타 OS도 가능하며 설명하기 편리하도록 Mac 사용자를 전제로 설명
  • 조개껍질:bash
  • fish와zsh도 가능하지만 일부 명령이 다른 경우
  • Docker for mac이 설치되었습니다.
  • Docker for mac를 설치할 때 Mac의 하드웨어 및 소프트웨어 요구 사항를 만족시켜야 합니다.
  • Docker for mac을 통한 로컬 환경 데이터 증가


    로컬 환경에서 Docker for mac을 사용하면
    대략적으로 말하면, 나는 아래의 데이터가 증가할 것이라고 생각한다.
  • 용기
  • 이미지
  • 볼륨
  • 가상 환경 영역
  • 데이터가 증가하면 로컬 환경을 압박하는 저장소를 상상해 보세요.
    물론 필요한 것은 현지 환경에서는 상관없지만, 이미 사용하지 않는 것은 적극적으로 예뻐지고 싶다.

    컨테이너


    우선 현황 을 확인 하다


    로컬 환경에 존재하는 모든 용기를 표시합니다.
    docker ps -a
    
    모두 에는 시작되지 않은 컨테이너가 포함됩니다.
    도커가 잠시 놀다가 뜻밖에 정지 중인 컨테이너가 있는 것을 발견했다.

    필요 없는 컨테이너 삭제 또는 삭제

  • 컨테이너 지정 및 삭제
  • docker rm [CONTAINER ID]
    
    CONTAINER ID는 docker ps에서 확인할 수 있습니다.
    삭제할 용기가 시작 중일 때 docker stop [CONTAINER ID] 용기를 정지합니다.
    나도 개인적으로 docker rm -f [CONTAINER ID] 강제 삭제된 공격 방식을 좋아한다.
  • 정지 중인 컨테이너는 필요 없어!
  • docker container prune
    
  • 어쨌든 모든 용기는 필요 없어!
  • docker ps -aq | xargs docker rm -f
    

    이미지


    우선 현황 을 확인 하다


    로컬 환경에서 작성된 모든 Docker 이미지를 표시합니다.
    docker images -a
    
    '모두'는 이미지를 만들 때 필요한 중간 이미지의 전부다.
    중간 그림은 그림을 만들 때 캐시로 다시 사용됩니다.
    즉, 중간 이미지가 많을수록 후술한 가상 환경 영역에 더 많은 데이터를 저장할 수 있다는 것이다.

    필요 없는 이미지 삭제 또는 삭제

  • 이미지 지정 및 삭제
  • docker rmi [IMAGE ID]
    
    docker images를 통해 IMAGE ID를 확인할 수 있습니다.
  • 사용하지 않는 인상은 필요 없어!
  • docker image prune
    
  • 어쨌든 다 인상 갖지 마!
  • docker images -aq | xargs docker rmi -f
    
    이러한 명령은 제거할 이미지를 시작 컨테이너에서 참조하지 않아야 합니다.
    그림을 삭제할 수 없으면 용기를 정리하십시오.

    소리


    우선 현황 을 확인 하다


    로컬 환경에 존재하는 모든 음량을 표시합니다.
    docker volume ls
    
    '모두' 에는 용기에서 인용되지 않은 음량이 포함되어 있습니다.

    불필요한 음량 삭제 또는 삭제

  • 볼륨 지정 및 제거
  • docker volume rm [VOLUME NAME]
    
    VOLUME NAME은 docker volume ls에서 확인할 수 있습니다.
  • 사용하지 않은 음량은 필요 없습니다!
  • docker volume prune
    
    이 명령들은 삭제할 암호화 볼륨을 시작하는 용기에서 인용하지 않아야 합니다.
    암호화 볼륨을 삭제할 수 없으면 용기를 청소하십시오.

    가상 환경 영역


    Docker는 Linux 핵이 가지고 있는 용기 기술을 사용하는 가상화 기술이다
    Linux의 커널에서만 실행됩니다.
    따라서 Docker for mac은 HyperKit, Docker for 윈도우즈에서 Hyper-V의 가상 환경에 Linux를 만들고 간접적으로 Docker를 구동한다.
    로컬 환경에서 Docker의 이미지, 컨테이너 및 용량 증가
    이 VM 환경의 영역도 자동으로 확장됩니다.
    그러나 이러한 이미지, 컨테이너 및 용량을 제거하더라도 확장된 가상 환경 영역은 여전히 존재하므로 로컬 환경의 스토리지를 지속적으로 압박할 수 있습니다.

    우선 현황 을 확인 하다

    ls -lh ~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw 
    -rw-r--r--  1 root root 30G 12 16 17:26 /Users/tasmania/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
    
    현재 가상 환경의 disk image size는 30G입니다.
    이 설정은 Docker for macPreferences > Disk에서 확인할 수 있습니다.
  • Docker.raw는 가상 환경의 파일로 Docker for mac의 버전에 따라 Docker.qcow2라고도 부른다.
  • $HOME/library/containers/com.docker.docker/data/com.docker.driver.amd64-linux/Docker.qcow2에도 가상 환경 파일이 있습니다.
  • 이것은 qcow2 형식보다 raw 형식의 disk 성능이 더 좋기 때문이다
    Docker for mac의 업데이트와 함께 기본 파일 형식이 변경되었습니다.
    따라서 현재 설정을 Docker for macPreferences > Disk에서 확인하는 것이 좋습니다.

    가상 환경 크기


    방금 가상 환경의 disk 설정Disk image size: 32.0GB(3.0 GB on disk)에서 실제로는 3.0GB만 사용했지만 Docker가 사용할 때 32.0GB의 가상 환경을 확보했다.
    방금 쓴 바와 같이 확장된 가상 환경은 자동으로 수축되지 않는다.
    따라서 여분의 디스크가 압박을 받지 않도록 디스크 이미지의 크기를 적당한 크기로 조정하십시오.

    Disk image size 메모리를 16.0GB로 변경하려면 Apply 를 클릭하십시오.

    모두 먼저 예뻐지고 싶은 너


    지금까지 우리는 각각 컨테이너, 이미지, 용량 등의 분리를 진행하였다.
    "아이고! 짜증나! 다 복구됐어!"
    그런 너잘 어울려요.
    Docker for macPreferences > ResetRest disk image를 선택하면
    부팅 중이든 사용 중이든 모든 컨테이너와 이미지는 디스크에서 재설정할 수 있습니다.

    현재 현지 환경에서 Docker의 아쉬움이 없는 분들에게는 이것이 가장 빠르다.

    끝말


    Docker로 대단한 걸 하는 것보다는.
    Docker 활동을 정리하고 디스크를 깨끗하게 정리하는 기본 작업을 소개하는 기사입니다.
    나는 이별이 매우 중요하다고 생각한다.

    좋은 웹페이지 즐겨찾기