본문 바로가기
Infra

[Rancher] Rancher 모든 Docker container 재구축 방법

by Developer RyanKim 2020. 5. 18.
systemctl stop docker
sudo apt-get purge -y docker-engine docker docker.io docker-ce
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce
sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock
curl https://releases.rancher.com/install-docker/18.06.sh | sh
cd /etc/docker/
vim daemon.json
{
        "dns": ["111.111.111.111", "1.1.1.1", "1.1.1.1"],
        "insecure-registries": ["repository domain:port"]
}

systemctl stop docker
먼저 구동중인 도커를 중지시킴

 

1. sudo apt-get purge -y docker-engine docker docker.io docker-ce

: 도커 엔진을 삭제함

 

2. sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce

: 도커 엔진을 또 삭제함 (확실하게하기위해)

 

3. sudo rm -rf /var/lib/docker /etc/docker

: 도커 저장소를 삭제함

 

4. sudo rm /etc/apparmor.d/docker

: 도커 관련 리눅스 보안, 성능제한 설정을 삭제함

 

5. sudo groupdel docker

: 도커 관련 리눅스 그룹을 설정을 삭제함

 

6. sudo rm -rf /var/run/docker.sock
: 도커와 연결되는 리눅스 소켓을 삭제

7. curl https://releases.rancher.com/install-docker/18.06.sh | sh
: 랜처에서 사용하는 도커를 다운받는다

8. cd /etc/docker/


9. vim daemon.json
{
"dns": ["111.111.111.111", "1.1.1.1", "1.1.1.1"],

"insecure-registries": ["repository domain:port"]
}
: etc/docker/ 디렉토리에 daemon.json 파일을 만든다
( Rancher 에서 해당 인스턴스로 찾아들어오기위한 도메인을 등록 )

 

10.

Rancher의 Add Host에서 해당 인스턴스의 private IP를 [4] 영역에 입력한다

 

11. [5] 영역에 나타나는 명령어를 복사해서 해당 인스턴스 콘솔에 실행한다.

예시) sudo docker run -e CATTLE_AGENT_IP="111.111.111.111" --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://111.111.111.111/v1/scripts/54647712B7183D573110:1546214400000:Uu1n9gfSvwZ2h4nfuWfxhFBkiqU

( Rancher에서 해당 인스턴스에 띄운 도커와 Rancher Host를 연결하기 위함)

12. systemctl restart docker
: 도커를 다시 실행시킨다 ( 아까 등록한 dns가 적용되기 위함 )


12번 까지 완료하고나면 Rancher에서 저장하고있던 image 들로 Host에 컨테이너를 다시 다 실행시키면서 모든 서비스가 복구 될 것!

 

 

댓글