381 docker build -t booktalk .\n
382 docker tag booktalk guncow/booktalk
383 docker push guncow/booktalk
384 cd /Users/kimgunwoo/Desktop/SpringFolder/booktalk
385 docker build -t booktalk .\n
386 docker buildx build --platform=linux/amd64 booktalk .
387 docker ps image
388 docker images
389 docker buildx build --platform=linux/amd64 booktalk .
390 docker buildx build --platform=linux/amd64 .\n
391 docker buildx build --push --platform linux/amd64 -t booktalk .
392 docker login
393 docker buildx build --push --platform linux/amd64 -t booktalk .
394 docker buildx build --push --platform linux/amd64 -t guncow/booktalk .
도커허브에서 레퍼지토리 만들고
docker tag booktalk 아이디/booktalk
Plain Text
복사
도커 허브에 푸시와 빌드 동시에
docker buildx build --push --platform linux/amd64 -t guncow/booktalk .
변수설정
nano ~/.bashrc
실행할때
export ACCESS_KEY=AKIA4LJM27FWEZNL6D5S
export ADMIN_TOKEN=AAABnvxRVklrnYxKZ0aHgTBcXukeZygo
export BUCKET=booktalk-s3-1
export DB_DATABASE_NAME=booktalk
export DB_PASSWORD=1qa2ws3ed
export DB_PORT=3306
export DB_USERNAME=admin
export JWT_SECRET_KEY=1a1b95adsfadf36d65432b16d4ded7f2814c8e5105ceae7ced4e173b086c564f2efa609d03c8ab84a78492f3175c0ce8ef792d6e55157f34777628f6f55163ef115bfe4
export KAKAO_LOGIN_KEY=72548d65398245d85bdedb836da29d17
export KAKAO_SEARCH_KEY=d4ee4d56fb48da76a8de567698192d24
export LOCAL_HOST=booktalk-database.chjyniniqe6a.ap-northeast-2.rds.amazonaws.com
export REDIS_HOST=localhost
export SECRET_KEY=uboVknzOjKnTmhV0Pr17D8vfuY1ycyhzoAIK9E0s
sudo docker run -d -p 8080:8080 --name my_booktalk_container \
-e ACCESS_KEY=$ACCESS_KEY \
-e ADMIN_TOKEN=$ADMIN_TOKEN \
-e BUCKET=$BUCKET \
-e DB_DATABASE_NAME=$DB_DATABASE_NAME \
-e DB_PASSWORD=$DB_PASSWORD \
-e DB_PORT=$DB_PORT \
-e DB_USERNAME=$DB_USERNAME \
-e JWT_SECRET_KEY=$JWT_SECRET_KEY \
-e KAKAO_LOGIN_KEY=$KAKAO_LOGIN_KEY \
-e KAKAO_SEARCH_KEY=$KAKAO_SEARCH_KEY \
-e LOCAL_HOST=$LOCAL_HOST \
-e REDIS_HOST=$REDIS_HOST \
-e SECRET_KEY=$SECRET_KEY \
guncow/booktalk
컨테이너 전체 제거
sudo docker container prune
로그 보기
sudo docker logs my_booktalk_container
docker stop my_booktalk_container # 컨테이너 중지
docker start my_booktalk_container # 컨테이너 다시 시작
$sudo docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=[패스워드] -d -p 3306:3306 mysql
1.
도커 허브에 스프링 부트 애플리케이션 올리기: 먼저, 스프링 부트 애플리케이션을 도커 이미지로 빌드하고 이를 도커 허브(도커의 공식 이미지 저장소)에 업로드합니다. 이 도커 이미지는 애플리케이션의 빌드된 실행 가능한 형태를 포함합니다.
2.
EC2 우분투에서 이미지 풀 받기: 그 다음, EC2 인스턴스에서 우분투를 실행하고 도커를 설치한 후, 도커 허브에서 업로드한 스프링 부트 애플리케이션 이미지를 풀(pull) 받습니다. 이렇게 하면 EC2 인스턴스에 애플리케이션을 실행할 준비가 됩니다.
3.
레디스 및 MySQL 이미지 풀 받기: 마찬가지로 EC2 인스턴스에서는 필요한 다른 서비스에 대한 도커 이미지를 풀 받습니다. 이 경우에는 레디스와 MySQL을 실행하기 위한 이미지입니다.
4.
도커 컨테이너 실행: 마지막으로, EC2 인스턴스에서 도커를 사용하여 스프링 부트 애플리케이션, 레디스, 그리고 MySQL을 실행하는 도커 컨테이너를 생성합니다. 각 컨테이너는 독립적으로 실행되며, 애플리케이션 서비스 간의 통신을 위해 네트워크를 설정할 수 있습니다.
이와 같은 프로세스를 통해 도커를 사용하여 스프링 부트 애플리케이션 및 관련 서비스를 간단하고 효율적으로 실행할 수 있습니다.