도커 기계:장치에 남아 있는 공간이 없습니다.
도커 컴포지트로 도커 머신을 설정하려고 합니다.
시나리오 1(도커 시스템 미포함)
가 가내뛰면을 하면,docker-compose up -dDocker Machine을 사용하지 않으면 링크된 3개의 컨테이너가 의도한 대로 생성됩니다(nginx+mongodb+nodejs).
시나리오 2(도커 시스템 포함)
에게 "Docker Machine"을 사용하여 .eval $(docker-machine env streambacker-dev).
시점에서 내 하고 이시를에컴도터퓨면연실결하행고하점을 됩니다.df -h이해합니다.

가 내가뛰면을 하면,docker-compose up -d마지막 컨테이너를 다운로드하는 동안 "장치에 남은 공간이 없습니다" 오류가 발생합니다.
"tmpfs"는 그 이후에 실제로 약간 꽉 찬 것 같습니다.

--virtualbox-disk-size 옵션을 선택하면 기본값이 20000MB로 표시되며, 두 사진 모두에서 "/dev/sda1"로 표시됩니다.그렇다면 왜 컨테이너는 "tmpfs" n을 채우고 "tmpfs"는 정확히 무엇입니까?임시 다운로드 디렉토리입니까?컨테이너 공간을 늘리려면 어떻게 해야 합니까?
감사합니다!
참고로 저는 도커 머신 0.4.0-rc2와 도커 컴포지 1.3.2를 사용하고 있습니다.
저도 같은 오류가 있었습니다.[ERROR] InnoDB: Error number 28 means 'No space left on device')을 사용하여 다음과 같이 해결합니다.
1. 도커에서 고립된 볼륨을 삭제합니다. 내장 도커 볼륨 명령을 사용할 수 있습니다.또한 내장 명령어는 볼륨이 아닌 /var/lib/docker/volumes의 모든 디렉토리를 삭제하므로 저장할 디렉토리가 없는지 확인합니다.
경고 보관할 데이터가 있는 경우 매우 주의하십시오.
정리:
$ docker volume rm $(docker volume ls -qf dangling=true)
추가 명령:
매달린 볼륨 나열:
$ docker volume ls -qf dangling=true
모든 볼륨 나열:
$ docker volume ls
2. 또한 사용하지 않는 모든 이미지를 제거하는 것도 고려해야 합니다.
먼저 그것을 제거합니다.<none>이미지(이미지를 빌드하는 동안 생성되는 경우가 있으며 어떤 이유로든 이미지 빌드가 중단된 경우 해당 이미지는 그대로 유지됩니다.)
여기 그것들을 제거하는 데 사용하는 멋진 스크립트가 있습니다.
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')
그런 다음 도커 합성을 사용하여 모든 프로젝트에 대한 이미지를 로컬로 빌드하는 경우.와 같은 을 가진 이미지들을 될 입니다. (를 들어,이 Hello인 , 이름은 "Hello"입니다.)Hello_blablabla 이미지도 하는 것이 . 따라서 이 모든 이미지를 제거하는 것도 고려해 보십시오.
위 스크립트를 편집하여 제거하거나 수동으로 제거할 수 있습니다.
docker rmi {image-name}
처럼, 위서말했이듯에,이말,tmpfs와무한와는 아무 .--virtualbox-disk-size mounts 인 것 .tmpfs가상 상자 VM에 더 많은 메모리를 할당해야 합니다.다음을 지정하여 수행할 수 있습니다.--virtualbox-memory 명령어
--virtualbox-memory "1024"
Size of memory for host in MB [$VIRTUALBOX_MEMORY_SIZE]
기본값:
$ docker-machine create --driver virtualbox testA
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
$ docker-machine ssh testA
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
Docker version 1.8.1, build d12ea79
docker@testA:~$ df -h /
Filesystem Size Used Available Use% Mounted on
tmpfs 896.6M 112.7M 783.9M 13% /
와 함께--virtualbox-memory로 설정한.8096
$ docker-machine create --driver virtualbox --virtualbox-memory 8096 testB
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
$ docker-machine ssh testB
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
Docker version 1.8.1, build d12ea79
docker@testB:~$ df -h /
Filesystem Size Used Available Use% Mounted on
tmpfs 6.9G 112.4M 6.8G 2% /
Docker Community Edition을 사용하는 경우:
docker system prune --volumes
boot2docker(도커 시스템)를 사용하는 경우 분리된 볼륨을 지웁니다.
docker volume rm $(docker volume ls -qf dangling=true)
사용되지 않은 이미지 지우기:
docker rmi $(docker images -q -f "dangling=true")
A. 사용하지 않는 이미지 제거
dockerrm 또는 dockerrmi 명령을 사용하여 필요 없는 이미지를 제거할 수 있습니다.실제로 이 작업에 도움이 되는 이미지가 존재합니다(마틴/도커 정리 볼륨).기본적으로 영상 및 용기 목록에서 선택을 시작합니다.
도커 ps-a-s
B. 도커 JSON 설명자 수정
그것은 몇몇 포럼에서 언급되었습니다.이 방법은 ~/.docker/machine/machine/default/config.json에 있는 설명자를 증분하는 것입니다.매개 변수가 DiskSize인 것처럼 보이지만 다른 OS(윈도우가 아님)에서 작동하는지는 모르겠습니다.
C. LINUX 크기 조정:
윈도우즈 OS에서 도커 시스템 또는 boot2docker는 사실상 가상 상자 VM입니다. 그러면 절차에 따라 디스크 크기를 조정할 수 있습니다.파일 백업에 주의하십시오.일반적인 절차는 가상 상자에서 크기를 조정한 다음 gpartd라는 유틸리티를 사용하여 파티션에서 Linux가 인식하는 공간을 수정하는 것입니다.이 절차를 수행하기 위한 몇 가지 링크는 다음과 같습니다.
D. 도커 재작성 - 기계 / 부트2 도커
이 아이디어는 기본 도커 기계를 다시 만드는 것입니다.다음 명령을 사용하여 설명할 수 있습니다.boot2도커를 다시 만드는 동안 이전에 다운로드한 도커 이미지가 손실됩니다.
도커-machine rm 기본값
도커 시스템 생성 --driver virtualbox --virtualbox-disk-size "100100" 기본값
도커 시스템 환경 기본값
그런 다음 가상 상자로 이동하여 "df -h" 명령을 사용하여 boot2x 공간을 확인할 수 있습니다.
려달을 합니다.docker system df도커의 공간을 차지하고 있는 것을 확인하기 위해
그런 다음 실행:
docker system prune --all --force
숨김 및 사용하지 않는 모든 용기를 제거합니다.
docker system prune사용하지 않는 모든 컨테이너를 제거하지 않습니다.
Docker osx에서 / [디스크 이미지 이동] 버튼을 누를 수 있었고 Docker.qcow2(컨테이너/이미지가 포함된 것으로 추정됨)를 성공적으로 이동했습니다.
처음에 - 기계가 시작되었을 때 - 장치에 남은 공간 없음 오류가 발생했지만 얼마 지나지 않아 해결되었습니다.
이 문제가 발생하여 Mac용 도커 UI로 공간을 추가할 수 없습니다. 홈브루로 도커를 설치하고 기계를 만들 때 다음 명령을 실행했습니다.
docker-machine create --driver virtualbox --virtualbox-memory "2048" --virtualbox-disk-size "40000" default
이것은 이전에 가지고 있던 가상 상자에 메모리 및 디스크 크기를 위한 공간을 두 배 추가합니다. 그리고 여기에 필요한 설정 크기를 원하는 대로 추가할 수 있습니다.
열다.file /lib/systemd/system/docker.service가장 좋아하는 텍스트 편집기로 다음 행을 대체합니다./new/path/docker는 새로 선택한 도커 디렉터리의 위치입니다.
FROM:
ExecStart=/usr/bin/docker daemon -H fd://
TO:
ExecStart=/usr/bin/docker daemon -g /new/path/docker -H fd://
준비가 되면 도커 서비스 중지:
# systemctl stop docker
도커 서비스가 중지되었는지 확인합니다. 다음 명령을 실행해도 결과가 나타나지 않습니다.
# ps aux | grep -i docker | grep -v grep
다시 로드 데몬
# systemctl daemon-reload
이 작업이 완료되면 위에서 지정한 새 디렉토리를 만듭니다.rsync현재 도커 데이터를 새 디렉터리로:
# mkdir /new/path/docker
# rsync -aqxP /var/lib/docker/ /new/path/docker
# systemctl start docker
도커가 새 디렉터리로 실행됨을 확인합니다.
# ps aux | grep -i docker | grep -v grep
언급URL : https://stackoverflow.com/questions/31909979/docker-machine-no-space-left-on-device
'programing' 카테고리의 다른 글
| Apple FFT 및 Accelerate Framework 사용 (0) | 2023.08.12 |
|---|---|
| 글꼴 스타일: CSS에서 기울임꼴 대 사선 (0) | 2023.08.12 |
| 이 날짜 사이의 시간을 직원 할당 여부에 따라 그룹화하는 방법 (0) | 2023.08.12 |
| jQuery의 replaceWith()와 html()의 차이점은 무엇입니까? (0) | 2023.08.12 |
| Powershell 경로에 일시적으로 추가 (0) | 2023.08.12 |