Docker가 컨테이너에 제공하는 여유 공간을 늘리는 방법을 이해하려고 합니다.
TL;DR - 도커 컨테이너에 더 많은 하드 드라이브 공간을 할당하는 방법은 무엇입니까?
내 핵심 시스템:
docker info
Containers: 15
Running: 12
Paused: 0
Stopped: 3
Images: 19
Server Version: 17.06.2-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 6e23458c129b551d5c9871e5174f6b1b7f6d1170
runc version: 810190ceaa507aa2727d7ae6f4790c76ec150bd2
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.58-xxxx-std-ipv6-64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.625GiB
Name: ns3306175
ID: 6YS2:EC6G:OSLT:4NB4:HMAQ:UQON:P6VO:WZJQ:ZCYO:BW3K:VZG5:AGW3
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
df -h 실행
/dev/root 20G 5.9G 13G 33% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 404M 3.5G 11% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda2 487M 24M 435M 6% /boot
/dev/sda4 1.8T 68M 1.7T 1% /home
overlay 20G 5.9G 13G 33% /var/lib/docker/overlay2/af4736dc572f48a34fd13bfd9c139358fefbbd79c8bd26716b26ba9dd2fe894d/merged
shm 64M 0 64M 0% /var/lib/docker/containers/c5b5bd3ebcf6a45558aa995711f4e2678582cbf7b21a11c087965de2a5a1c34/shm .. and more
지금 생각하는 것 - 내 컨테이너에 sda4 공간을 사용할 수 있게 하고 싶습니다. 컨테이너를 생성하고 df -h 하면 다음에만 액세스할 수 있습니다.
overlay 20G 5.9G 13G 33% /
tmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/root 20G 5.9G 13G 33% /etc/hosts
shm 64M 0 64M 0% /dev/shm
tmpfs 3.9G 0 3.9G 0% /sys/firmware
답변1
docker 디렉터리를 아래 위치로 이동 /home
하고 /var/lib/docker
새 위치에 대한 심볼릭 링크를 만들 수 있습니다. 예를 들어:
### shut down docker first
systemctl stop docker
mv /var/lib/docker /home/
ln -s /home/docker/ /var/lib/
### restart docker now
systemctl start docker
/home/docker
이미 존재하는 경우 다른 디렉토리를 사용하십시오.
/ 에 대한 심볼릭 링크 외에도 var/lib/docker -> /home/docker
/var/lib 대신 /home 아래에서 디렉터리를 찾도록 docker를 재구성할 수도 있습니다.