Kisow Blog

programming log

Docker Image 경로 변경하기

| Comments

docker image은 공식 메뉴얼에 나와 있는대로 /var/lib/docker에 저장된다.

/var 디렉토리가 포함된 루트 파티션의 크기가 15GB 밖에 안되다보니 가끔 /var/log를 손으로 청소하곤 했다.

그 동안은 그럭저럭 버틸만 했는데, 최근에 docker를 쓰다보니 뭔가 오류가 나서 보면 루트 파티션이 disk full인 상태였고 주범음 항상 docker였다.

docker 이미지 크기가 작지도 않고 이것 저것 테스트 하다보니 디스크가 금방 차는 것 같다.

처음에는 /var/lib/docker를 좀 더 여유 있는 /home 파티션 쪽으로 symbolic link를 걸어봤는데, 잘 돌아가는가 싶더니 결국 문제가 생겼다. 정작 컨테이너를 띄우려고 하니 경로에 symbolic link가 있으면 안된단다.

귀찮지만 제대로 옮기려고 찾아보니 docker 데몬을 띄울 때 -g 옵션으로 docker 경로를 줄 수 있었다.

arch linux에서 docker는 systemd로 실행되니 sudo systemctl start docker를 실행할 때 반영되도록 /usr/lib/systemd/system/docker.service에 추가해주면 잘 돌아간다.

예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -g /home/docker -H fd://
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

Comments