이야기처음에 gitlab cicd를 이용하여 적용을 해보려고 했는데 gitlab-cicd.yml 작성하는게 너무너무너무 어려웠다. 관련자료도 너무 없어서 수요일을 모두 날리고 목요일 아침에 출근하자마자 Jenkins로 하자고 눈물을 머금고 갈아탔다.서버안에 도커를 깔아서 MariaDB, Redis, OpenVidu, Jenkins 4가지 Container를 돌린다=========================================여기까지 진짜 완벽함
그리고 docker에 Jenkins를 설치하고 Jenkins 계정을 생성하고 플러그인을 다운을 하는데 갑자기 청천벽력 같은 에러를 마주한다
계절학기 때 Jenkins에 대해 충분히 경험을 해본 땅지원은 한번도 만난적없는 이런 에러에 당황을 했지만 침착하게 에러 로그를 확인했다.이 에러 관련해서 블로그 포스팅, 스택오버플로우 한 50개는 찾아봤는데
- 버전이 낮아서 그런거다, 버전 높여라(응 이미 최신버전이야)
- 프록시 설정 문제 때문이라고 함(aws 내부 설정은 내가 건들 수 없음, 싸피가 준 서버니까)
- 혹은 이미 플러그인이 설치가 되어있어서?(말도안됨)
이렇게 총 3가지의 해결법이 주어졌다. 도저히 감이 안와서 옆반 백앤드 코치님한테 Help요청을 했는데 코치님도 계속 해봤는데 해답을 모르겠다고 답변이 왔는데 자기도 2번 프록시 설정 문제라고 생각을 한다고 했다.싸피 교육장에서, 집에서 총 5시간에 걸쳐서 저기 있는 모든 플러그인을 다 다운받았다. 조금 찜찜하긴 하지만 일단 다운은 다 되었으니까 FE,BE ci까지 완료시키고 cd를 하려고 했다.근데 여기서 문제가 터진다즉, docker 설치가 안되었다는 의미인데 다시 플러그인 설치로 가봐도 docker는 설치되었다고 뜬다.
- 이미 설치되었다고 뜬 docker plugin을 삭제하고 다시 다운하기(10번은 해봤는데 똑같음)
- 애초에 이 Jenkins을 운영하고 있는 docker container가 잘못되었다고 생각해서 container를 새로 갈아없음(소용없음)
- 아니면 이 Jenkins images가 문제가 있다라고 생각해서 jenkins최신버전, lts버전 모두 해봄(진짜 안됨)
- 그럼 이 docker 자체가 문제가 있다고 생각해서 docker 자체를 껐다가 다시 키려고 함
=⇒ 그래서 docker 자체를 정지시켰다가 다시 켰는데 docker가 실행되었다고 status에 뜨는데 docker가 진짜 켜진게 맞냐면서 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 에러가 뜬다
이 에러 관련해서도 진짜 다해봤는데 끝까지 안되길래 서버자체를 reboot 해봤다
다시 docker 관련 명령어를 치니까
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied
이 에러 관련해서도 진짜 다해봤는데 끝까지 안되길래 서버자체를 reboot 해봤다
다시 docker 관련 명령어를 치니까
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied
에러가 또 나옴. sudo chmod 666 /var/run/docker.sock 해서 위의 오류는 사라졌는데?!!
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 이거 다시 나옴
23.01.29 21:03
다시 접속해보니까 docker status가 stop으로 드디어 변경됨. 내가 볼 때 저번에 요청이 너무 많아서 그냥 렉걸린듯. 시간 지나니까 해결되네
sudo chmod 666 /var/run/docker.sock
sudo systemctl status docker
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run -itd -p 8080:8080 -v /jenkins:/var/jenkins_home --name jenkins -u root jenkins/jenkins:lts
까지 진짜 sudo에다가 -u root에다가 완벽하게 컨테이너 돌림
이번에 느낌 진짜 너무 좋은데?
아 진짜 에바야