동기의 이것저것
article thumbnail
728x90

SSH로 접속 후 yum 업데이트를 해준다.

yum install epel-release -y
yum update -y

 

Docker 설치

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

 

DB 설치 (MariaDB)

docker run \
  --name mariadb_1 \
  -d \
  --restart unless-stopped \
  -e MARIADB_ROOT_PASSWORD="비밀번호" \
  -e TZ=Asia/Seoul \
  -p 3306:3306 \
  -v /"파일 위치"/conf.d:/etc/mysql/conf.d \
  -v /"파일 위치"/mysql:/var/lib/mysql \
  -v /"파일 위치"/run/mysqld:/run/mysqld/ \
  mariadb:latest
  
  
  # 보안 설정
  docker exec -it mariadb_1 /usr/bin/mariadb-secure-installation
  
  # 안으로 접속
  docker exec -it mariadb_1 mysql -u root -p
  
  # 계정으로 어디에서든 접속 가능하도록
  GRANT ALL PRIVILEGES ON *.* TO "계정"@'%' IDENTIFIED BY '비밀번호';
  # MariaDB 컨테이너에서만 접속 가능하도록
  GRANT ALL PRIVILEGES ON *.* TO "계정"@127.0.0.1 IDENTIFIED BY '비밀번호';
  # 같은 도커 호스트를 공유하는 컨테이너에서 접속 가능하도록
  GRANT ALL PRIVILEGES ON *.* TO "계정"@'172.17.%.%' IDENTIFIED BY '비밀번호';
  # Nginx Proxy Manager 위해 생성
  CREATE DATABASE nginx;
  # 내가 프로젝트에서 쓸 DB 생성
  CREATE DATABASE "내프로젝트DB이름";

 

Git 설치

yum install git -y

 

Java 17 설치

yum -y install wget curl

cd /tmp
rm -rf /opt/jdk-17
# 설치
wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz

tar -xvf openjdk-17.0.2_linux-x64_bin.tar.gz
mv jdk-17.0.2/ /opt/jdk-17/
vi ~/.bashrc

.bashrc 에서 추가

export JAVA_HOME=/opt/jdk-17 
export PATH=$JAVA_HOME/bin:$PATH

추가 후 시스템에 반영

# 시스템 반영
source ~/.bashrc

# 설치 확인
java-version

 

Git clone

mkdir -p "내 파일 들어갈 곳"

git clone "내 git 레포지토리 주소" .

gitignore 로 비밀 정보 있을 경우 복구해주기!

 

 

Gradle 빌드

chmod 744 gradlew

./gradlew clean build

#실행 해보기
java -jar -Dspring.profiles.active=prod build/libs/gramgram-0.0.1-SNAPSHOT.jar
# 잘 접속되는지 확인
wget -qO- http://localhost:8080

 

Dockerfile은 이미 git에 같이 넣어두었다.

FROM openjdk:17
ARG JAR_FILE=build/libs/"내 파일 이름".jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=prod","/app.jar"]

 

Docker 이미지 생성, 실행

#혹시나 있으면 삭제
docker rm -f "이름"
docker rmi -f "이미지이름"

# 이미지 생성
docker build -t gram .

# 이미지 실행
docker run \
  --name="이름" \
  --restart unless-stopped \
  -p 80:8080 \
  -e TZ=Asia/Seoul \
  -d \
  "이미지 이름"

 

접속

http:// "내 공인IP"  이렇게 접속하여 확인해본다.

 

(이렇게 접속하면 서버의 CentOS 80포트로 들어와 내 프로젝트의 8080포트로 연결된다.)

728x90
반응형
profile

동기의 이것저것

@U_motivation

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!