본문 바로가기

가상화/Kubernetes

[Docker] Docker Root 디렉토리 변경

반응형

개요

 

구성환경

CentOS 7.6 / Docker-ce-19.03.5

 

Docker Root 디렉토리 구조

shell> pwd
/var/lib/docker
shell> ls -F
builder/   containers/  network/   plugins/   swarm/  trust/
buildkit/  image/       overlay2/  runtimes/  tmp/    volumes/
shell>

Docker Root 디렉토리 변경 절차

1. 현재 Docker Root 디렉토리 확인

shell> docker info | grep "Docker Root Dir"
 Docker Root Dir: /var/lib/docker  => 현재 Root 디렉토리
shell> docker volume inspect my-vol
[
    {
        "CreatedAt": "2019-12-28T13:25:31+09:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my-vol/_data",  => volume등 기타 정보도 Root 디렉토리 기준으로 매핑됨
        "Name": "my-vol",
        "Options": {},
        "Scope": "local"
    }
]

2. Docker Root 디렉토리 변경

  2.1 스크립트(unit) 파일 확인 => dockerd 프로세스를 구동하는 스크립트 파일

shell> systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since 토 2019-12-28 13:25:52 KST; 1h 7min ago
     Docs: https://docs.docker.com
 Main PID: 37867 (dockerd)
    Tasks: 15
   Memory: 56.2M
   CGroup: /system.slice/docker.service
           └─37867 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con...

12월 28 13:45:53 testsvr dockerd[37867]: time="2019-12-28T13:45:53.21677830..."

 2.2 스크립트(unit) 파일 편집

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

 - ExecStart로 시작하는 라인 끝에 --data-root=/docker/root/dir 추가

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/home/docker
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

#

3. Docker Root 디렉토리의 데이타  복사 또는 이동 및 Docker 서비스 재시작

shell> systemctl daemon-reload 
shell> systemctl stop docker
shell> mkdir /home/docker2
shell> cp -rp /var/lib/docker /home/    => 파일 복사
shell> systemctl start docker

4. 확인

shell> docker info | grep "Docker Root Dir"
 Docker Root Dir: /home/docker    => 변경된 root dir 
shell> docker volume inspect my-vol
[
    {
        "CreatedAt": "2019-12-28T13:25:31+09:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/home/docker/volumes/my-vol/_data",  => 볼륨등 기타 정보도 같이 수정됨을 알수 있다
        "Name": "my-vol",
        "Options": {},
        "Scope": "local"
    }
]
shell>
반응형

'가상화 > Kubernetes' 카테고리의 다른 글

[Docker] swarm 모드에서 NFS 구성  (0) 2020.01.10
[Docker] Swarm 모드 구성  (0) 2020.01.09
[Docker] Container 관리  (0) 2019.12.27
[Docker] Container 생성  (0) 2019.12.26
[Docker] Docker 설치/삭제 - Linux  (0) 2019.12.26