분류 전체보기
-
Dockerfile 에서 CMD와 ENTRYPOINT의 차이카테고리 없음 2022. 8. 5. 01:41
docker run -it -v C:\udemy\section9:/app node-util npm init 이렇게 있다면 node-util이 이미지라고 가정한다면, CMD는 끝에 npm 부터 끝까지 전부 overwritten한다. 그렇기에 일반적인 도커파일 보면 끝에 CMD가 있는데 이거로 docker run 해서 ~~~~ 끝에는 [이미지파일] + CMD에 적어준 명령어가 붙어서 run 하면 작동된다. ENTRYPOINT ["npm"] 이라면 반면 ENTRYPOINT는 npm init 이라고 쓴거를 init만 써도 된다. 그러므로 npm start npm install 등등 있으면 docker run -it -v C:\udemy\section9:/app node-util init start install..
-
dockerfile optimization카테고리 없음 2022. 7. 29. 14:36
만약 server.js를 바꿨을 경우 COPY . /app 에서 바뀌기 때문에 RUN npm install을 다시한다. package.json은 변경이 없으므로 동일한 dependency를 가지는데 npm install을 다시하는것은 비효율적이다. 이렇게 하면 package.json을 image내부에 /app으로 복사하는데 같은 파일이므로 run npm install을 할때 캐시에서 가져온다. 그리고 copy . /app 을 했고 이때는 server.js가 변경되어있으므로 이미지를 다시 만들면 run npm install을 캐시에서 가져오므로 이미지 재빌드 속도가 훨씬 빨라진다. 도커의 이미지는 Dockerfile을 위에서부터 읽으면서 이미지 파일에 차곡차곡 쌓는 방식으로 이해하면 될거같다.
-
Dockerfile 의미카테고리 없음 2022. 7. 29. 13:14
Dockerfile에서 FROM node는 docker hub가서 node이미지를 받아옴 WORKDIR은 도커 이미지에서 어디서 작업을 할지를 의미한다. 여기서는 /app이므로 이미지의 /app에서 작업을 한다. COPY . . 의 의미 왼쪽 . 은 현재 있는 파일들에서 Dockerfile제외하고 모든 파일을 의미한다. 오른쪽 . 은 image 내부를 의미한다. 즉 VSCode에 있는 Dockerfile를 제외한 파일들을 모두 image내부로 복사한다는 뜻이다. 그래야 이미지가 만들어지겠지 그러므로 COPY . /app 과 같은거는 VSCode에 있는 Dockerfile를 제외한 파일들을 모두 image내부에 /app 으로 옮긴다는 뜻이다. 상대주소도 가능하다. COPY . ./ 으로 하면 위에서 WOR..
-
git rebase카테고리 없음 2021. 9. 12. 21:16
1. 브랜치 하나 만든다. 2. test1.md 파일을 만들고 commit 한다. 3. test2.md 파일을 만들고 commit 한다. 4. test3.md 파일을 만들고 commit 하고 푸시를 한다. 그러면 만든 브랜치에서 커밋내역이 3개가 추가가되는데 이것을 바로 main 브랜치에 merge 하면 3개커밋이 main브랜치에 그대로 추가가 되기 때문에 이것을 main브랜치에서 1개의 커밋으로 남기고싶을때 rebase를 사용한다. 5. git rebase -i @~3 //위에서 만든 3개의 커밋을 1개의 커밋으로 main에다가 넣을꺼기때문에 @~3을 해줬다. ※ 만약 충돌이 발생하면 충돌 해결하고 git rebase --continue로 진행하면된다. 이런 화면이 나오면 나는 test1이라는 커밋한개..
-
git flow카테고리 없음 2021. 9. 12. 19:58
프로젝트 폴더로 들어가서 git flow init 또는 git flow init -d 를 해준다. git flow feature start BRANCHNAME 을 해준다. 작업을 다하고 git push origin BRANCHNAME 하면 된다. git flow init 을 하면 feature support hotfix말고 다른것들도 설정하라고 나오는데 여기서 feature말고 feat로 바꾸고싶다면 feature설정할때 feat/ 를 입력하면 git flow feature start BRANCHNAME을 하면 feature/BRANCHNAME이 나오는게 아니라 feat/BRANCHNAME으로 된다.