티스토리 뷰

☠️ Java

Ubuntu 및 배포

James Wetzel 2025. 1. 8. 11:27
728x90
반응형

aws

EC2

탄력적 IP

 

 


Ubuntu(우분투)

// root 계정
sudo su

// Ubuntu 패키지 업데이트 및 적용
apt-get update
apt-get upgrade


rm <file_name>
rm -rf <folder_name>

mkdir <folder_name>
mkdir -p <folder_name>/<file_name>
    
    
 




기본 명령어
ls
cd
exit

vim
	i
    q or q!
    wq

apt-get update
apt-get upgrade
apt-get install vim

// root 권한
sudo su

 

 

 

서버(Ubuntu)에 도커(Docker) 설치하기


// apt가 HTTPS를 통해 저장소에서 패키지를 다운로드할 수 있도록 필요한 패키지들을 설치합니다.
sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     software-properties-common
     
// Docker 저장소의 공식 GPG 키를 시스템에 추가합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

// 시스템의 apt 소스 리스트에 Docker의 공식 저장소를 추가합니다.
sudo add-apt-repository \
     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
     $(lsb_release -cs) \
     stable"

// 새로운 저장소를 추가한 후에는 다시 한번 패키지 인덱스를 업데이트합니다.
sudo apt-get update

// 이제 Docker CE(커뮤니티 에디션) 및 CLI 도구를 설치할 수 있습니다.
sudo apt-get install docker-ce docker-ce-cli containerd.io

// Docker 서비스를 시작하고, 시스템 부팅 시 자동으로 시작되도록 설정합니다.
sudo systemctl start docker
sudo systemctl enable docker

// sudo 없이 Docker 명령을 실행하려면, 현재 사용자를 docker 그룹에 추가합니다.(선택 사항)
sudo usermod -aG docker ${USER}

// 설치 확인
// Docker가 성공적으로 설치되었는지 확인하기 위해, 설치된 Docker의 버전을 출력합니다.
docker --version

 

참고 사이트: https://moon1z10.github.io/development/AWS-Ubuntu-Docker-Installation/

 


 

 

 

도커(Docker)에 데이터 베이스(MySql) 설치하기

// 사전 준비 사항
// data를 mysql 컨테이너 외부에 저장할 수 있도록 공간을 생성합니다.
sudo mkdir -p /my/local/data
sudo chown -R 1001:1001 /my/local/data

// mysql image 가져옵니다.
docker pull mysql

// mysql 컨테이너(container) 생성합니다.
docker run --name mysql -e MYSQL_ROOT_PASSWORD=r00t -p 3306:3306 -v /my/local/data:/var/lib/mysql -d mysql

 

 

 

Docker

 

1. docker 설치

// image 가져오기
docker pull mysql

// image를 기준으로 container 생성
docker run <이미지 이름>

// 컨테이너 실행
docker start <컨테이너_ID 또는 이름>


// 컨테이너 목록(전체)
docker ps -a

// 컨테이너 목록(실행중)
docker ps


// 컨테이너 삭제 및 강제 삭제
docker rm <id or name>
docker rm -f <id or name>

// 이미지 목록
docker images

// 이미지 삭제 및 강제 삭제
docker rmi <id or name>
docker rmi -f <id or name>

 

Docker mysql 설치 -> Ubuntu

mkdir -p /my/local/data
sudo chown -R 1001:1001 /my/local/data

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -v /my/local/data:/var/lib/mysql -d mysql

 

 

 

 

 

Docker Compose

 

 


 

 

-vm 인스턴스 생성

key.pem 생성 및 다운로드

 

ssh 접속

ssh -i key.pem ubuntu@ip

Mac OS의 경우 권한 변경이 필요합니다.

chmod 600 key.pem

 

// root 계정으로 변경

sudo su

 

// 패키징 관리 업데이트

apt-get update
apt-get upgrade

 

// 필요한 패키지 설치

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

 

 

// Docker의 공식 GPG키를 추가

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 

 

// Docker의 공식 apt 저장소를 추가

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

 

 

// 시스템 패키지 업데이트

apt-get update

 

 

 

// Docker 설치

apt-get install docker-ce docker-ce-cli containerd.io

 

 

// Docker-Compose 설치


sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose


curl \
    -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose

 

 

// Docker-Compose 실행 권한 주기

chmod +x /usr/local/bin/docker-compose

 

 

// Docker 설치 확인

docker --v
docker -compose -v

 

 


 

Docker 

Access Token 생성

 

ubuntu 서버에서 Docker Login

docker login -u <your-docker-id>

 

ubuntu 서버의 Docker에서 nginx 설치

docker pull nginx

 

// Docker에 nginx 컨테이너(container) 생성

docker container run --name nginxserver -d -p 80:80 nginx
docker container run --name nginxserver -d -p 80:80 -p 443:80 nginx

 

 

// nginx 접속

docker exec -it nginxserver bash

 

 

// conf 파일 수정

cd etc
cd nginx
cd conf.d
default.conf

 

// vim 설치후 default.cof 수정


apt update
apt install -y vim


// vim 명령어
i = 수정
시프트 키 + : = q!(강제 종료)
시프트 키 + : = wq(저장 후 종료)


upstream blue {
	server 172.31.5.251:8080;
}

upstream green {
	server 172.31.5.251:8081;
}

server {
   	...

    include /etc/nginx/conf.d/service-env.inc;

    location / {
        proxy_pass http://$service_url;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;	

        ...
    }
}

 

vim service-env.inc 파일 생성 후 아래 코드 추가

set $service_url  green;

 

 


Spring Boot

applicatioon.yml 설정

 


ubuntu Server

docker-compose-blue.yml, docker-compose-green.yml 추가

 


Git hub

actions 추가

 

728x90
반응형