프로젝트 테스트 용도로 했기 때문에 가비아에서 이벤트로 1년 계약시 싼 도메인을 이용했다.
가비아에서 산 도메인을 내가 현재 배포연습으로 aws ec2 서버에서 docker로 배포중인 파일에 dns 설정을 해보자.
도메인을 산 후에 도메인관리 시스템 이용
이런식으로 가해준다. a 레코드 부분은'www.결제한도메인' 과
'결제한도메인' 으로 연결을 시도하면 해당 ip로 연결되게 하게 추가해놓고 밑에는 적용됬는지 확인.
도메인이 제대로 적용 됬으니 관리를 위해서 NPM을 설치해서 진행.
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
버전 확인을 끝으로 docker-compose가 제대로 설치되있는지 확인.
docker-compose.yml 작성
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
environment:
TZ: "Asia/Seoul"
DB_MYSQL_HOST: "172.17.0.1"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "lldjlocal"
DB_MYSQL_PASSWORD: "1234"
DB_MYSQL_NAME: "nginx"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
docker-compose 실행
http://공인ip:81 포트 연결
로그인을 하게 되면 id 부터 password 까지 새로 작성 진행
npm에서 81,80,443 포트를 관리하기 때문에 이전에 만든 80포트를 사용하는 sbb_1 도커이미지는 삭제한 뒤에
8080 포트로 들어올 경우 8080으로 연결되게 바꿔줘야한다.
도커 이미지 삭제 & 도커 컨테이너 삭제
sbb 프로젝트로 이동하고 이전에 만든 Dockerfile을 통해서 다시 빌드 하고 도커를 run 시킬때
80 : 8080 으로 연결햇는데 npm에서 해당 부분을 포워딩시켜주니 8080:8080으로 변경하여 도커를 실행하기.
docker run \
--name=sbb \
--restart unless-stopped \
-p 8080:8080 \
-e TZ=Asia/Seoul \
-e JASYPT_ENCRYPTOR_PASSWORD=$JASYPT_ENCRYPTOR_PASSWORD \
-d \
sbb
성공적으로 연결이 완료되었다.
이렇게 npm 을 설치하고 도메인을 연결까지 진행완료.
도커 컴포즈 개념과 설치
: https://seosh817.tistory.com/387
DNSZI