docker-compose 코드 해석하기
https://seosh817.tistory.com/387#%EB%8F%84%EC%BB%A4%20%EC%BB%B4%ED%8F%AC%EC%A6%88%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%20%EB%AA%A9%EB%A1%9D%20%ED%99%95%EC%9D%B8-1
redis서버를 2개나 사용하고 있던 상황이라 docker-compose를 활용한 배포를
피해갈 수 없었다.
version: "3"
services:
token_redis:
image: redis:alpine
container_name: token_redis
ports:
- "6379:6379"
networks:
- beep
mail_redis:
image: redis:alpine
container_name: mail_redis
ports:
- "6380:6380"
networks:
- beep
beep:
image: ./beep:latest
container_name: beep-container
restart: always
ports:
- "8080:8080"
networks:
- beep
networks:
beep:
지금은 나온 팀에 있었던 선배님의 코드를 참고하여 작성 후 위 게시글 덕에 해석을 할 수 있었다.
++ grade.yml에 적용
runs-on: ubuntu-latest
needs: build
steps:
- name: AWS Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }} # EC2 인스턴스 퍼블릭 DNS
username: ${{secrets.USERNAME}}
key: ${{ secrets.PRIVATE_KEY }} # pem 키
script: |
docker pull ${{ secrets.DOCKER_USERNAME }}/beep:latest
docker rm -f beep-container
docker-compose up -d
docker image prune -a -f
참고로 with밑에 바로 run을 썼다가 에러가 났다. 확인해보니 with후에는 run이
오지 못하고, script로 써야 한댄다.
++ script: | 로 해야 여러 줄 '|'이거를 안쓰니까 에러가 떴다.
++ application.yml 파일에서 redis의 host를 바꿔주어야 했다.