Red Hat Linux에서 Docker 루트 디렉터리를 변경하시겠습니까?

Red Hat Linux에서 Docker 루트 디렉터리를 변경하시겠습니까?

약간의 문제가 있습니다. 새로운 Red Hat Linux 서버가 있고 공식 Docker CE 저장소를 사용하여 CentOS/Red Hat용 Docker CE를 설치했습니다. 이제 docker가 docker 아래에 컨테이너를 생성하는 것을 볼 수 있지만 /var/lib/docker내 문제는 docker 아래의 데이터에 추가 파티션을 사용하고 있다는 것입니다 /data/docker. CentOS/Red Hat에서 Docker의 기본 루트 디렉터리를 어떻게 변경합니까?

나는 몇 가지 HOWTO를 시도했지만 같은 문제에 직면했습니다. 구성을 찾을 수 없습니다. 예를 들어 다음 파일을 검색합니다.

  • /etc/default/docker(데비안/우분투에만 해당되는 것 같습니다)
  • /etc/systemd/system/docker.service.d/override.conf(내 시스템에서는 찾을 수 없습니다)
  • /etc/docker/daemon.json(내 시스템에서는 찾을 수 없습니다)

Docker 정보를 얻으면 다음이 표시됩니다.

도커 루트 디렉터리:/var/lib/docker

답변1

이것Docker 데몬 제어에 대한 Docker 문서권장되는 플랫폼 독립적 접근 방식은 다음과 같습니다.

이 줄을 포함하도록 /etc/docker/daemon.json 파일을 편집합니다.

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

/mnt/docker-dataDocker 이미지와 컨테이너를 배치할 디렉터리는 어디에 있습니까 ?

그 다음에

sudo systemctl restart docker

다음을 실행하여 작동하는지 확인할 수 있습니다.

docker info

로 시작하는 줄의 내용을 찾습니다 Docker Root Dir:.

답변2

실행 중인 모든 도커 컨테이너를 중지한 다음 도커 데몬을 중지합니다. 이 데이터를 저장하려는 위치로 "/var/lib/docker" 디렉터리를 이동합니다. 당신에게 이것은 다음과 같습니다:

mv /var/lib/docker /data/

그런 다음 /var/lib 경로에 이 docker 디렉터리에 대한 심볼릭 링크를 만듭니다.

ln -s /data/docker /var/lib/docker

docker 데몬과 컨테이너를 시작합니다.

답변3

나는 fedora 27을 사용하고 있습니다. docker deamon help를 살펴볼 수 있습니다.

dockerd --help 
--data-root string                        Root directory of persistent Docker state (default "/var/lib/docker")

도커 서비스 중지

systemctl stop docker

도커 기본 폴더를 이동합니다. /data 폴더 아래로 이동했습니다.

mv /var/lib/docker /data/.

서비스 파일 열기

vi /usr/lib/systemd/system/docker.service

ExecStart 변수의 매개변수를 변경합니다.

vi /usr/lib/systemd/system/docker.service

이 광산. 디버깅 매개변수도 추가했습니다.

ExecStart=/usr/bin/dockerd -D --data-root /data/docker

데몬을 다시 로드해야 함

systemctl daemon-reload

서비스를 시작할 수 있습니다.

systemctl start docker

서비스가 시작되기 전에 명령줄에서 테스트할 수 있나요?

 dockerd -D --data-root /data/docker

이미 마쳤어.

관련 정보