전체 보기
🍀

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

작성일자
2023/09/26
태그
DIARY_DEVELOP
프로젝트
FIS
책 종류
1 more property

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만 호스트에 적어줍니다.
ssl 인증서 발급받기
secure sign > dashboard > 인증서 관리 > 전체zip 다운로드
zip 파일에서 key.pem과 unified.crt.pem만 따로 로컬 원하는 경로에 저장
서버로 ssl 인증서 전송하기 (사실 해당 파일 내용들 복사해서 vim으로 직접 넣어주셔도 무방합니다)
ubuntu@ip-172-31-35-215:~$ cd .. ubuntu@ip-172-31-35-215:/home$ cd .. (최상위 루트로 이동) ubuntu@ip-172-31-35-215:/$ sudo chmod 777 etc (권한 열어주기) ubuntu@ip-172-31-35-215:/$ ls -al (권한 열어졌는지 확인하기) ubuntu@ip-172-31-35-215:/$ sudo mkdir /etc/nginx/ssl ubuntu@ip-172-31-35-215:/$ cd /etc/nginx/ssl
Java
복사
로컬에서 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 파일 생성
ubuntu@ip-172-31-35-215:/$ cd /etc/nginx/conf ubuntu@ip-172-31-35-215:/$ sudo vim nginx.conf
Java
복사
docker-compose.yml 변경
docker-compose 다운로드
처음 깐다면
이미 깔려있다면 버전 변경 필요
cd /usr/local/bin/ sudo rm docker-compose cd /usr/bin/ sudo rm docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose -v
Java
복사

통합 테스트