🍀

Docker로 Nginx 웹서버 구동 + SSL 인증서 적용(서브 도메인), Manage Docker as a non-root user(sudo docker)

작성일자
Sep 26, 2023
태그
DIARY_DEVELOP
프로젝트
FIS
책 종류

Manage Docker as a non-root user (Optional but recommended)

  • 서론)
    • 기본적으로 Docker 명령어를 실행하기 위해서는 sudo를 사용해야 한다.
    • 접속한 사용자를 docker 그룹에 추가하여 sudo 없이도 Docker 명령어를 실행할 수 있도록 해보자.
  • 본론)
    • sudo usermod -aG docker $USER 입력
      • 1. By default, the Docker command requires root privileges. If you want to use Docker as a non-root user (which is recommended for security reasons), you can add your user to the "docker" group: 2. sudo usermod -aG docker $USER 3. Remember to log out and log back in or restart your EC2 instance for the group changes to take effect
    • 터미널 재시작 후 id -nG 입력해 결과 확인(끝에 도커가 있는지 확인

Docker로 Nginx 웹서버 구동 + SSL 인증서 적용 (with 서브도메인)

  • 서론) 도커 Nginx 컨테이너를 이용해서 https 배포를 해보자!
    • 그동안은 AWS 로드밸런서를 이용해 https 배포를 진행해왔는데 비용 감소를 위해 자체적으로 Nginx를 서버 앞단에 띄어 로드밸런서로 사용해보자.
  • 본론) 과정 정리하겠다.
    • docker pull nginx:1.24 입력해서 Nginx 이미지 pull 받아오기
    • 서브 도메인 만들기
      • 가비아 > 마이페이지 > dns 관리 툴 > 도메인 선택 > dns 설정 > 레코드 추가
        • 도메인이 main.com이라 쳤을 때 서브도메인 이름이 call-api.main.com 이라면 앞 부분 call-api만 호스트에 적어줍니다.
        • notion image
    • ssl 인증서 발급받기
      • secure sign > dashboard > 인증서 관리 > 전체zip 다운로드
      • zip 파일에서 key.pem과 unified.crt.pem만 따로 로컬 원하는 경로에 저장
    • 서버로 ssl 인증서 전송하기 (사실 해당 파일 내용들 복사해서 vim으로 직접 넣어주셔도 무방합니다)
      • 로컬에서 scp 명령어로 절대경로로 해서 서버에 파일 업로드
        • 명령어예시 scp -i fisolution_server.pem /Users/yeongeun/Downloads/iluvit.key.pem ubuntu@3.38.19.119:/etc/nginx/ssl/ scp -i fisolution_server.pem /Users/yeongeun/Downloads/iluvit_unified.crt.pem ubuntu@3.38.19.119:/etc/nginx/ssl/
    • ssl 인증서 적용을 위한 nginx conf 파일 생성
      • notion image
    • docker-compose.yml 변경
      • notion image
    • docker-compose 다운로드
      • 처음 깐다면
      • 이미 깔려있다면 버전 변경 필요

    통합 테스트

     
     
     
     
    Docker로 Nginx 웹서버 구동 + SSL 인증서 적용(서브 도메인), Manage Docker as a non-root user(sudo docker)