내일 출장가야해서 서버 엎고 다시 설치하는데 제일 중요한 마스터 칭구가 자꾸.. 컨테이너의 흔적이 남아서 도커가 제대로 설치가 안됐다. 퇴근하고싶은데 퇴근 못하게 하는 흔적을 정리해놓는다.
systemctl restart docker
도커가 삭제도 되고 설치도 잘되는데 restart 하는 순간 문제가 생겼다. 계속 fail이 뜨길래 뭐지..? 하다가 보니 이전 흔적이 남아있기 때문이라고 git에서 알려주더라. 그래서 임의로 파일을 삭제하려했다.
rm -rf /var/lib/docker
오~ 안되는데~ 이유는 모르지만 안됐다. 정확한 이유는 이 것이였다.
rm: cannot remove '/var/lib/docker/containers/7f17ef617eb891bc1f7fb90f00958779b75ee96534c65557c7443ac14fa357f5/mounts/shm': Device or resource busy
(추측) 컨테이너(였던것)이 제대로 해제가 안되어 있는 상태였다. 그래서... 하나도 모르지만 검색해서 했다.
cat /proc/mounts | grep docker
shm /var/lib/docker/containers/7f17ef617eb891bc1f7fb90f00958779b75ee96534c65557c7443ac14fa357f5/mounts/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k 0
어디에 위치해있는지 알려준다.
umount /var/lib/docker/containers/a7c50594d4aba984e13f3caee91ddf313a9295ed55581bfb9d21f2b9d6437b3d/mounts/shm
그래서 무식하게 나온 그대로 umount 해줬다.
rm -rf /var/lib/docker
systemctl restart docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
문제의 /var/lib/docker 는 삭제가 되었지만 여전히 안된다. 그래서.. 할 수 있는게 뭐가 있겠어.. 로그봤다..
journalctl -u docker.service
journalctl -u docker.service | grep error
iptables 문제라는데..일단 낼 출장가야해서 잠깐 저장해두겠다.
-
출근해서 다시 해결 중 다른 서버랑 비교해보니 iptables 문제가 확연했따 ㅠ 일단 이게 안됨
iptables -L
iptables v1.6.1: can't initialize iptables table `filter': No child processes
Perhaps iptables or your kernel needs to be upgraded.
정말이지 리붓하고 싶지 않았는데 답이 리붓밖에 없는거 같아서(서버실이 넘 멀리있어.......) 일단 리붓했다.
오~~~~~~~~~~~~~~~ 10분째 서버 안켜지는데 ㅎㅎ~!
점입가경이다 이젠 디스크가 read-only로 바뀌었다.
touch: cannot touch 'a.txt': Read-only file system
결국 도움을 요청했고 문제의 원인은 쿠버네티스 설정 중 잘못 주석처리한 나의 디스크인것 같았다.........
cat /proc/mounts
/dev/sda1 / ext4 ro,relatime 0 0
를 통해 찾아보니 깜찍하게 ro 칭구로 바뀌어있는걸 확인할 수 있었다.
mount -o remount, rw /
/dev/sda1 / ext4 rw,relatime 0 0
명령얼르 통해 다시 마운트 해쥬자..............
- touch a.txt
- ls
a.txt
다행히도 잘 실행되주었다
/etc/fstab
UUID=앵앵 / ext4 errors=remount-ro 0 1
이 친구 살려주었다..ㅎㅎ....
명령어 : docker version
Client:
Version: 18.09.7
API version: 1.39
Go version: go1.10.1
Git commit: 2d0083d
Built: Fri Aug 16 14:20:06 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.1
Git commit: 2d0083d
Built: Wed Aug 14 19:41:23 2019
OS/Arch: linux/amd64
Experimental: false
명령어 : systemctl restart docker
드디어 해결되었따........ 다시는 함부로 주석처리하지도 않을거고 모르는 명령어 써먹지도 않을거다 ㅠㅠ
'Cloud > Docker' 카테고리의 다른 글
Dockerfile 빌드 시 yum update && yum install과 yum update \ yum install의 차이 (0) | 2020.03.17 |
---|---|
Docker Private Registry에 등록된 이미지 지우기 (0) | 2019.12.30 |
내 DOCKER 저장소 만들기 (0) | 2019.09.16 |
Ubuntu 16.04 에서 Docker CE 설치하기 (0) | 2019.08.23 |
PaaS 이해를 향한 여정 - (2) 도커 이해하기 (0) | 2019.08.20 |