Docker의 데이터 디렉토리 변경


8

docker가 컨테이너를 저장하는 위치 또는 lxc가 컨테이너를 저장하는 Docker의 데이터 디렉토리를 어떻게 변경합니까? 내 서버에는 SSD와 하드 드라이브 개미가 있으며 컨테이너가 하드 드라이브에 저장되기를 원합니다. 감사

답변:


11

나는 이 안내서에서 당신이 좋은 설명을 할 것이라고 믿는다 .

Docker 데몬을 시작할 때 -g 옵션을 사용하여 Docker의 스토리지 기본 디렉토리 (컨테이너 및 이미지가있는 위치)를 변경할 수 있습니다.

우분투 / 데비안 : 다음 옵션을 사용 하여 /etc/default/docker파일을 편집하십시오 -g.DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"

Fedora / Centos : 편집 하고 other_args 변수에 옵션을 /etc/sysconfig/docker추가하십시오 -g: ex. other_args="-g /var/lib/testdir". 옵션이 둘 이상인 경우 ""로 묶어야합니다. 다시 시작한 후 (서비스 도커 다시 시작) Docker는 새 디렉토리를 사용해야합니다.

이미지 저장을 변경하는 또 다른 방법은 심볼릭 링크를 사용하는 것입니다.

주의 –이 단계는 현재 / var / lib / docker가 실제 디렉토리 (다른 위치에 대한 심볼릭 링크가 아님)에 따라 다릅니다.

1) 도커 중지 : service docker stop. ps faux를 실행중인 도커 프로세스가 없는지 확인

2) 이중 체크도 커가 실제로 실행되지 않습니다. 현재 docker 디렉토리를 살펴보십시오. ls/var/lib/docker/

2b) 백업 만들기- tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz

3) /var/lib/docker디렉토리를 새 파티션으로 이동하십시오 .mv /var/lib/docker /mnt/pd0/docker

4) 심볼릭 링크를 만드십시오 : ln -s /mnt/pd0/docker /var/lib/docker

5)는 MV 전에했던 것처럼 보이는 확인하기 위해 디렉토리 구조를 들여다 보자 ls /var/lib/docker/(에 후행 슬래시주의

6) 도커 백업 시작 service docker start

7) 컨테이너를 다시 시작하십시오.


4)의 이유는 무엇입니까? 필요합니까? 필자의 경우 도커 파일을 부팅 파티션이 아닌 마운트 된 RAID에 배치하고 싶습니다.
Roman Mik

9

Ubuntu의 최신 Docker 버전에서는 다음과 같이 /etc/default/daemon.json을 편집합니다.

{
    "data-root": "/new/location"
}

2

data디렉토리 를 변경하려면 docker옵션으로 실행해야합니다 -g /my/data. 내 /etc/default/docker설정 :

DOCKER_OPTS="-g /srv/docker"

여기 내 노트 도 참조 하십시오 .

내가 넣은 data디렉토리 를 변경하려면 :lxc/etc/lxc/lxc.conf

lxc.lxcpath = /srv/lxc


1

Docker 1.13.0으로 업그레이드하십시오.

릴리스 정보에서 :

- New
The storage location of the Linux volume can now be moved

1

@MattK의 답변을 확장하려면 :

도커 데몬을 제어하는 방법에 대한 도커 문서는 이것이다 할 해당 플랫폼에 독립적 인 방법을 제안한다 :

행을 포함하도록 /etc/docker/daemon.json 파일을 편집하십시오.

{
    "data-root": "/mnt/docker-data",
    (...)
}

여기서 /mnt/docker-datadocker 이미지 및 컨테이너를 살려는 디렉토리입니다.

그때

sudo systemctl restart docker

당신은 실행하여 작동 여부를 확인할 수 있습니다

docker info

로 시작하는 줄의 내용을 찾으십시오 Docker Root Dir:.

https://stackoverflow.com/a/50217666/2209313https://unix.stackexchange.com/q/452368/36043참조 하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.