Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 클라이언트
- lv0
- 이진수 변환
- Programmers
- 스택
- java
- 프로그래머스
- 프로그래머스 자바
- StringTokenizer
- 프로그래머스 문자열 정렬
- Queue
- 알고리즘
- 프로그래머스 풀이
- 오름차순 정렬
- lv2
- 스프링부트 도커 배포
- 큐
- 버퍼
- 문자열
- 삼각형의 완성조건
- SWEA
- 스프링부트 도커
- 스프링부트 도커로 배포
- 백준 N과 M 자바
- 자바
- 백준
- Lv1
- Stack
- COS Pro
- index of
Archives
- Today
- Total
mun dev
[Docker] SpringBoot 프로젝트 Docker로 배포하기(1) 본문
1. 네이버 클라우드 플랫폼 서버키 다운로드, 포트포워딩
네이버 클라우드 플랫폼을 사용하여 배포를 하려고 한다.
먼저 네이버 클라우드 플랫폼에서 서버키 다운로드와 포트포워딩을 설정해준다.
- 80번포트 / 0.0.0.0/0
- HTTP, 웹서비스용 포트
- 81번포트 / 0.0.0.0/0
- NGINX PROXY MANAGER 관리용 포트
- 443번포트 / 0.0.0.0/0
- HTTPS, 웹서비스용 포트
- 22번포트 / MyIP
- 리눅스 원격접속용 포트, 개발자 본인만 접속하면 되니까 MyIP
- 3306번포트 / MyIP
- 리눅스에 설치된 MySQL 관리용 포트, 개발자 본인만 접속하면 되니까 MyIP
내 ip에 해당하는 포트포워딩과 서비스용 관리용등 포트를 설정해준다.
2. SSH 접속
- ssh -p {서버 접속용 포트} {서버 접속용 공인 IP}
3. yum 최신화, yum update
- yum install epel-release -y
- yum update -y
4. 도커 설치
# Uninstall old versions
# 혹시 모르니 기존의 오래된 도커를 삭제하는 명령을 수행
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# Set up the repository
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker Engine
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 도커 시작
systemctl start docker
# 도커 활성화
systemctl enable docker
# 도커 작동 테스트
docker run hello-world
5. MariaDB 설치
# 컨테이너 실행
docker run \
--name mariadb_1 \
-d \
--restart unless-stopped \
-e MARIADB_ROOT_PASSWORD=설정할 비밀번호 \
-e TZ=Asia/Seoul \
-p 3306:3306 \
-v /docker_projects/mariadb_1/conf.d:/etc/mysql/conf.d \
-v /docker_projects/mariadb_1/mysql:/var/lib/mysql \
-v /docker_projects/mariadb_1/run/mysqld:/run/mysqld/ \
mariadb:latest
6. 보안설정
- docker exec -it mariadb_1 /usr/bin/mariadb-secure-installation
Enter current password for root (enter for none):
root 계정 패스워드(비밀번호) 입력
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] n
나머지 Y
설치완료
7. 마스터계정(master 생성) 및 DB 생성
docker exec -it mariadb_1 mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO master@'%' IDENTIFIED BY '비밀번호';
# master 계정이 아이디와 비번만 알면 어디서든 접속이 가능하도록 설정
GRANT ALL PRIVILEGES ON *.* TO masterlocal@127.0.0.1 IDENTIFIED BY '1234';
# master 계정이 MariaDB 컨테이너에서만 접속 가능하도록 허용
GRANT ALL PRIVILEGES ON *.* TO masterlocal@'172.17.%.%' IDENTIFIED BY '1234';
# master 계정이 같은 도커 호스트를 공유하는 컨테이너에서 접속 가능하도록 허용
CREATE DATABASE nginx;
# NGINX PROXY MANAGER 를 위함
exit
8. gram__prod DB 생성
- docker exec -it mariadb_1 mysql -u root -q비밀번호;
- CREATE DATABASE gram__prod;
- exit;
9. git 설치
- yum install git -y
'공부 > Docker' 카테고리의 다른 글
[Docker] SpringBoot 프로젝트 Docker로 배포하기(3) (0) | 2023.06.02 |
---|---|
[Docker] SpringBoot 프로젝트 Docker로 배포하기(2) (0) | 2023.06.02 |