본문 바로가기

docker8

HTTP -> HTTPS 변경 후 이슈 정리 Docker Container가 전부 내려갔다정확히 말하면 인증서 때문이라고 할 수는 없다. apt 업데이트를 최신으로 하다 보니 벌어진 일이었다. 어쩔 수 없는 일이기는 했다 (언젠가는 해줘야 하는 일이었지만... 버전 업데이트는 늘 신중히...). nginx 쪽과 HTTPS 인증서를 위해 업데이트를 하는 과정에서 기존에 올려두었던 container들이 죄다 네트워크 에러와 함께 내려간 것이었다. 하지만 이 부분은 큰 문제가 아니다. 다시 켜주면 되는 것이니까. 다만 그간 이것 저것 올려둔 컨테이너들이 워낙 많아서 혹시 빠뜨린 것이 없는지가 걱정일 뿐이었다. 다음에는 jenkins로 docker container를 한꺼번에 살릴 수 있도록 파이프라인 하나를 만들어두는 것도 좋을 것 같다. Jenkins.. 2025. 5. 18.
도커 환경변수 외부 주입 (with Next14) 시작하기...일전에 프론트엔드 배포 환경을 도커 컨테이너 기반으로 변경하는 일이 있었다. 현재는 무사히 테스트 작업이 끝나 정식 배포가 진행되었지만 여전히 아쉬운 문제가 하나 남아있었다. 바로 '도커 이미지 재사용'에 대한 문제였다. 대부분의 회사에서는 테스트 서버와 production 서버를 분리하여 운영하는 일이 많다. 그리고 당연하게도 테스트 환경과 배포 환경의 차이점이라면 주입되는 환경변수가 다르다는 정도일 것이다. (환경변수 이외의 코드가 다를 경우에는 테스트의 의미가 없어져버리지 않을까....)  현재 우리는 코드를 병합하면 자동으로 이미지를 생성하고 EC2에 올라가 배포를 원하는 시점에 해당 이미지로 대체되어 운영된다. 하지만 여기서 이상한 점이 있다. 결과적으로 우리의 dev 이미지와 QA.. 2025. 1. 13.
4. Docker + Jenkins + Github + Grafana + Next14 시작하기...이번에는 Nginx를 도커로 말아 프록시 서버로 동작할 수 있게 할 계획이다. Nginx와 Next14를 1:1로 사용할 예정이기도 하고, 기존에 세팅되어 있는 Nginx는 더 이상 사용하지 않을 것이기 때문에 시스템 상에서 Nginx를 내리고 새로운 Docker Nginx 프록시 서버를 올릴 필요가 있다. 만약 처음부터 할 예정이라면 불필요하겠지만, 필자처럼 이미 Linux 자체에 Nginx를 설치해둔 상태라면 도커 컨테이너로 전환하기 위해 내려두자. Nginx의 상태를 확인하고 내리는 명령어는 아래와 같다.sudo systemctl status nginx// 끄기sudo systemctl stop nginx 추가로 Jenkinsfile을 수정하기 전에 아래의 network 설정도 같이 진.. 2024. 10. 26.
2. Docker + Jenkins + Github + Grafana + Next14 해당 포스트는 Docker Jenkins 내부에서 Docker를 사용할 수 있는 세팅이 누락되어 있습니다. 해당 세팅이 필요한 경우 3번 포스트를 먼저 참고한 뒤 2번을 읽어주시기 바랍니다이어서...Dockerfile을 작성하고 로컬에서 정상적으로 동작하는 것을 확인했다. 해당 도커 이미지는 서버에 올릴 때도 동일한 컨테이너로 생성되어 동작하기 때문에 로컬과 서버에서 서로 다른 환경 문제로 오류가 발생하는지의 여부를 미리 파악할 수 있다. 이제 Docker를 기반으로 Jenkins가 동작하도록 세팅을 해보도록 하겠다. Docker + Jenkins일전에 포스팅했던 Docker 세팅 과정에 Jenkins를 설치하는 방법에 대해서 다뤄두었다. 당시에 세팅해뒀던 Jenkins를 다시 systemctl로 활성화.. 2024. 10. 9.
1. Docker + Jenkins + Github + Grafana + Next14 시작하기...Next14로 간단한 프로젝트를 만들어 보는 것도 끝났고, 슬슬 기존에 만들었던 Three.js 웹사이트를 새로 리뉴얼할 때가 되었다고 생각이 들었다. 지난 시간에 Docker를 VPS에 설치하여 내부에 Jenkins를 설치하는 것 까지 시도를 했었다. 여태까지 VPS에 직접적으로 Jenkins를 설치해 관리했지만, 이제는 Docker로 운영하게 된 것이다. 그렇다면 기존의 Jenkins에서 새로운 Docker+jenkins로 교체한 만큼 Jenkins 세팅도 변경이 필요해졌다. 깃허브 main 브랜치에 merge가 일어나면 자동으로 Jenkins에서 이를 감지하고 docker image를 빌드하여 push하고, 새로 만들어진 docker 이미지를 pull 해서 운영하는 구조로 설계할 예정이.. 2024. 10. 5.
Docker+Jenkins 동작 방식 젠킨스에서 도커? 도커에서 젠킨스?도커라이징을 하기 위해서는 우선 도커 이미지가 어떻게 배포까지 이어지는지를 이해해야 한다. 해당 동작 과정을 가장 시각적으로 잘 표현한 것 같은 이미지를 참고로 가져왔다. Deploy Django Application to AWS EC2 using Jenkins PipelineDeploy Django Application to AWS (EC2) using Jenkins, GitHub, Docker and DockerHub.www.fosstechnix.com지금까지는 젠킨스가 직접 빌드와 테스트를 진행하고 빌드된 결과를 AWS에 배포하는 과정으로 동작했다. 하지만 이제 docker를 사용하게 되면서, 해당 배포를 위해 젠킨스가 docker 이미지 빌드 후 hub에 push.. 2024. 8. 11.
728x90
반응형