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
반응형
'▸MAC > Linux' 카테고리의 다른 글
[네이버 클라우드 플랫폼에서 배포하기] 5. 젠킨스(Jenkins)를 통해 CI / CD 배포 환경 구축 (1) | 2023.05.10 |
---|---|
[네이버 클라우드 플랫폼에서 배포하기] 4. 도메인 구매 후 내 도메인으로 배포하기 (nginx proxy manager, 가비아, DNSZi) (0) | 2023.05.10 |
[네이버 클라우드 플랫폼에서 배포하기] 2. SSH 접속 (0) | 2023.05.10 |
[네이버 클라우드 플랫폼에서 배포하기] 1. 서버 생성 (0) | 2023.05.10 |
[MAC] UTM 에서 centos 접속 후에 ssh 연결 (0) | 2023.04.08 |