docker을 활용하여 배포 자동화까지는 구축했지만 정확한 동작 방식에 대해 생각해보고있었다.그러다가 로컬DB나 환경변수도 이미지로 저장되고 있는것이 아닌가라는 생각이 들었고 해결할 필요성을 느꼈다.git에서 원하지 않는 파일은 gitignore으로 처리하는 것처럼 d
docker 이미지를 활용하기 위해 hub로 push를 하면 오류가 발생한다.오류 메시지는 다음과 같다.해결법으로는 2가지가 있다.Docker 로그인하기말 그대로 Docker에 로그인을 하자.Docker image 이미지 이름 수정하기docker 이미지 이름을 {이미지
version : 도커 컴포즈의 버전을 지정한다.services : 컨테이너들을 제공할 서비스를 정의한다.build : 해당 이미지를 빌드하기 위한 dockerfile 경로를 적는다.만약, 경로에 이미지 파일이 여러개라면 아래와 같이 이미지를 지정할 수 있다.
docker compose에 대해 공부하고 깃허브 액션에서 실행시켜보면 커맨드를 찾을 수 없다고 한다.도커 컴포즈에 관한 포스팅을 찾다보면 docker-compose 라고 명시한 경우가 많은데, 도커 컴포즈가 버전을 업그레이드하면서 docker compose 로 변경되
docker stop $(docker ps -a -q) : 모든 컨테이너 정지docker rm $(docker ps -a -q) : 모든 컨테이너 삭제
웹서버와 WAS, WSGI우선 웹서버와 WAS, WSGI의 개념을 모른다면 위의 링크를 보고 오자.기존에 django앱을 만들고 ec2를 활용하여 배포할 때는 docker 단일 컨테이너로 배포를 했다.WAS, WSGI로 자주 쓰이는 nginx, gunicorn 없는데
nginx nginx는 가벼우면서도 성능이 뛰어난 웹 서버이다. 특히, 리버스프록시 구축을 위해 자주 사용한다. 프록시, 리버스 프록시 프록시라는 말은 네트워크를 공부하다보면 자주 듣게되는 단어이다. 프록시는 클라이언트와 서버 사이를 이어주는 중계 역할을 하
docker-compose.yml docker-compose.yml은 위와 같이 작성했다. deploy.yml github action 배포 설정에 대한 yml이다. 작업 순서는 다음과 같다. 도커 허브 로그인 .env 파일 생성 docker-compose.
마지막으로 aws세팅을 한다.ec2는 기존 그대로 가므로 생략리스너를 위 사진처럼 세팅했다. 80포트로 들어오는 요청은 https로 리디렉션해준다.대상그룹은 이렇게 세팅했다.
Error response from daemon: invalid volume specification: '/home/ubuntu/logs:.:rw': invalid mount config for type "bind": invalid mount path: '.' moun