docker
-
[AWS] AWS ECR을 활용해서 EC2에서 도커로 배포하기-1docker 2024. 12. 8. 13:49
AWS ECR을 활용해서 EC2에서 도커로 배포하기 AWS ECR이 뭘까?- 기존에는 필요한 이미지를 다운 받을때 dockerhub를 이용했었다. (dockerhub는 이미지를 저장하고 다운받을 수 있는 저장소이다.)- dockerhub와 같은 역할을 하지만 브랜드만 다른 서비스가 있다. 그것이 AWS ECR이다. AWS ECR도 dockerhub와 마찬가지로 이미지를 저장하고 다운받는 역할을 한다 그럼 왜 dockerhub를 안쓰고 AWS ECR을 쓸까?최근에는 aws클라우드 환경에서 인프라를 구축하는 일이 많아졌다. AWS ECR을 사용하면 1. AWS Resource(서비스)와 연동이 편하고2. AWS내에서 한번에 관리할 수 있다는 장점이 있다. (물론 dockerhub를 써도 상관없다)AWS ..
-
[docker] docker compose로 nestJS, postgresql, redis 서버 띄우기docker 2024. 12. 7. 21:09
docker compose로 nestJS, postgresql, redis 서버 띄우기 .dockerignore/dist/node_modules/build.env dockerfileFROM nodeWORKDIR /appCOPY . .RUN npm ciRUN npm run buildEXPOSE 3000ENTRYPOINT ["node","dist/src/main.js"] compose.ymlservices: backend-server: build: . ports: - 3000:3000 postgres-db: image: postgres environment: POSTGRES_PASSWORD: password123 volumes: - /Users/..
-
[docker] docker compose 로 mysql 서버 띄우기docker 2024. 12. 7. 14:07
docker compose 로 mysql 서버 띄우기 Docker Compose여러개의 컨테이너를 하나의 서비스로 정의하고 하나의 묶음으로 관리할 수 있게 해주는 툴 도커 컴포즈를 사용하는 이유1. 여러개의 컨테이너를 관리하는데 용이하다여러개의 컨테이너로 이루어진 어플리케이션을 한번에 관리할 수 있다. 여러 컨테이너를 하나의 환경에서 실행하고 관리하는데 도움이된다.2. 복잡한 명령어로 실행시키던것을 간소화할 수 있다.이전에 mySQL 이미지를 컨테이너로 실행시킬 쓰던 명령어.docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/kiju/dev/study_data/docker-volume/mysql_data:/var/lib/mysql ..
-
[docker] 도커파일 만들기1docker 2024. 12. 7. 00:03
도커파일 만들기 도커파일도커 이미지를 만들어주는 파일도커허브에 있는 도커 이미지가 아닌 나만의 도커 이미지를 만들고 싶을 수 있다.예를들어 내가 만든 nestJS 프로젝트가 있다. 내가 만든 nestJS 프로젝트 자체를 도커 이미지로 만들고 싶을 수있다.이때 도커파일을 이용하면 나만의 도커이미지를 만들 수 있다.도커파일 만들기FROM- 베이스 이미지를 생성하는 역할- 특정 초기 이미지를 기반으로 추가적인 세팅을 할 수 있다.- 여기서 특정 초기 이미지가 곧 베이스 이미지.-컨테이너로 미니 컴퓨터 환경을 구축할때 기본 프로그램이 어떤게 깔려있으면 좋겠는지 설정하는 옵션.예를들어 누군가는 JDK가 깔려있는 컴퓨터 환경이 세팅되기를 바랄 수도 있고, 누군가는 node가 깔려있는 컴퓨터 환경이 세팅되기를 바랄 ..
-
[docker] docker volume으로 mysql 서버띄우기docker 2024. 12. 6. 19:10
docker volume으로 mysql 서버띄우기 볼륨- 도커 컨테이너에서 데이터를 영속적으로 저장하기위한 방법- 볼륨은 컨테이너 자체의 저장공간을 쓰지않고 호스트 자체의 저장공간을 공유해서 사용한다- 도커 컨테이너는 삭제하면 데이터가 삭제된다. 볼륨을 쓰는 이유- 기존에는 도커를 써서 특정 프로그램을 컨테이너로 띄웠다. 여기서 프로그램의 새로운 버전이 나오면 새로운 이미지를 통해 새로운 컨테이너를 만들게 된다. 이때 만약 이 컨테이너가 mysql 이었다면 mysql내 데이터들도 함께 삭제된다.- 그래서 데이터의 영속성을 위해서 볼륨을 이용해야한다.- 이를 통해 새로운 컨테이너를 쓰더라도 기존의 데이터를 유지할 수 있다.- 볼륨을 이용하면 호스트와 컨테이너에서 연결된 각각의 주소가 공간을 공유한다. 따라..
-
[docker] 도커, 도커 CLI 알아보기docker 2024. 12. 6. 15:00
도커 알아보기 도커를 쓰는이유 - 이식성특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행, 배포할 수 있다.도커를 쓰면 어떤 컴퓨터든 특정 프로그램을 에러 없이 설치하고 실행할 수 있다.그외장점)매번 귀찮은 설치과정을 일일이 거치지않아도된다.항상 일관되게 프로그램을 설치할 수 있다(버전, 환경 설정, 옵션, 운영체제와 상관없이)각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램간 충돌이 일어나지 않는다. Docker컨테이너를 사용하여 각각의 프로그램을 분리된환경에서 실행 및 관리할 수 있는 툴이다 컨테이너- 하나의 컴퓨터 환경내에서 독립적인 컴퓨터 환경을 구성해서 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념. - 하나의 컴퓨터 환경에서 여러개의 미니 컴퓨터 환경을 구성.- 여기서 미..