약간의 문제가 있습니다. 새로운 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-data
Docker 이미지와 컨테이너를 배치할 디렉터리는 어디에 있습니까 ?
그 다음에
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
이미 마쳤어.