본문 바로가기

docker3

docker - 멀티스테이지 빌드 다양한 프론트엔드 프레임워크가 있지만 package.json 파일을 살펴보면 빌드와 개발 환경의 명령어가 다른 것을 확인할 수 있다. react를 기준으로 이야기하자면 아래 사진의 명령어를 보면 react-script라는 서드파티 패키지를 이용한 컴파일이고 start는 개발 모드라고 보면 된다. 개발 모드 - hot-module-replace가 동작해 수정과 동시에 화면이 변경된다. - 에러가 있을시 브라우저에 메시지를 출력한다. - 디버깅을 위한 무거운 서버가 제공된다. - react 코드가 node 환경에 종속되는 것을 의미한다. 운영 모드 - build는 배포 환경에서 사용할 파일을 압축 형태로 만들어준다. 그러면 우리가 선택한 웹 서버의 도움을 받아 스스로 서비스를 제공할 수 있다. - 파일만 있.. 2023. 1. 15.
docker - 데이터 관리(볼륨), .dockerignore, 환경변수, 매개변수 1. 익명볼륨과 명명된 볼륨 이미지가 빌드되면 내부의 코드는 변경될 수 없다. 모든 명령이 실행되면 이미지는 읽기 전용이기 때문에 무언가를 변경하려면 리빌드 해야한다. 컨테이너에서 데이터는 세가지 종류로 분류할 수 있다. 하나는 어플리케이션 데이터, 두번째는 임시 데이터, 마지막은 영구 데이터 어플리케이션 데이터는 우리가 만든 웹 어플리케이션이라고 할 수 있고 이미지에 의해 변경될 수 없다. 임시 데이터는 로그와 같은 데이터로 read와 write를 할 수 있지만 컨테이너 안에 저장된다. 마지막으로 영구 데이터는 DB에 저장되는 정보 같은것을 의미하며 볼륨이라는 곳에 저장된다. 데이터 구조는 다음과 같이 생각하면 된다. 파일을 생성하는 어플리케이션을 실행시켜서 실행버튼을 누르면 로컬 머신에는 뜨지 않고 .. 2022. 10. 6.
docker - introduction docker란? docker는 컨테이너의 생성 및 관리 프로세스를 단순화하는 도구이다. 도커를 가장 최근에 프로젝트를 실행하는데 사용했는데 제공자분이 다음과 같은 docker-compose.yml 파일을 만들어서 주셨고 나는 로컬에서 docker run을 통해 동일한 mysql 환경을 구축해 코드로 구현된 직접 JDBC 접속을 해야하는 실습을 예외 없이 진행할 수 있었다. version: "3.9" services: db: image: mysql:8.0.30 platform: linux/x86_64 restart: always ports: - "3308:3306" environment: MYSQL_ROOT_PASSWORD: mypass1 MYSQL_DATABASE: springbook MYSQL_USER.. 2022. 9. 8.