brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Apr 19. 2022

NCP 4탄-Source Commit-3/11





<1>  소스커밋 생성하기

<2>  소스 커밋 사용해보기

<3>  컨테이너 이미지 생성

<4>  오브젝트 스토리지, Container Registry  생성

<5>  Container Registry에 이미지 올리기




<1> 소스커밋 생성하기



1

Products & Services  >  Dev Tools >  SourceCommit  > 리포지토리 생성


devops-naver-repo



2

git 계정 생성

topasvga1

g12!





<2> 소스 커밋 사용해보기



1

명령서버 로그인 


2

파일 위치할 디렉토리 생성

mkdir sourcecommit

cd sourcecommit/


3

깃 초기화와 파일 1개 생성

git init

git config --global user.email topasvga@naver.com

git config --global user.name topasvga1

touch readme.txt


4

상태 확인과 주석 주기

git status

git add readme.txt

git status

git commit -m "first"


5

깃의 원격지 레파지토리 지정하기

git remote add origin https://devtools.ncloud.com/2651/devops-naver-repo.git


6

원격지에서 파일 다운 받아 보기

git pull --rebase origin master


7

로컬에서 확인

README.md  파일이 받아 졌다.

[root@s1802b2025ee sourcecommit]# ls

README.md  readme.txt



8

원격지에 파일 올리기

   git push -u origin +master




<3>  컨테이너 이미지 생성


    1  cd sourcecommit/

    2  npm init -y

    3  npm i fastify --save

    4   vi app.js

    5  node app.js

    6  vi Dockerfile


[root@s1802b2025ee sourcecommit]# more Dockerfile

# 1. node 이미지 사용

FROM node:12-alpine

# 2. 패키지 우선 복사

COPY ./package* /usr/src/app/

WORKDIR /usr/src/app

RUN npm install

# 3. 소스 복사

COPY . /usr/src/app

# 4. WEB 서버 실행 (Listen 포트 정의)

EXPOSE 3000

CMD node app.js



[root@s1802b2025ee sourcecommit]#



    8  docker images

    9  vi .dockerignore


   11  ls -al

   12  docker build -t devopsweb .

   13  docker images


   14  docker run -d -p 3000:3000 devopsweb

   15  docker ps -a

   16  docker stop cc72287273a7

   17  docker login -u 0BFO5eKJdcOl3zIGERx6 vwlrpx6c.kr.private-ncr.ntruss.com


3000 포트 허용 






<4>  오브젝트 스토리지, Container Registry  생성






1

오브젝트 스토리지

devops-15


이미지가 저장되는 공간



2

Container Registry 생성

devops-15-reg


3

endpoint 확인

vwlrpx6c.kr.private-ncr.ntruss.com







[root@s1802b2025ee sourcecommit]# docker images

REPOSITORY   TAG         IMAGE ID       CREATED              SIZE

devopsweb    latest      73db6b17491e   8 seconds ago        98.6MB

<none>       <none>      5ed95aaa8fd7   About a minute ago   105MB

node         12-alpine   bb6d28039b8c   6 days ago           91MB




<5>  Container Registry에 이미지 올리기



1

* AccessKey : 마이페이지 > 인증키 관리 > AccessKey


2

도커에 로그인 하기

docker login -u {AccessKey} {Container Registry Endpoint URL}

docker login -u 0BFO5eKJERx6 vwlrpx6c.kr.private-ncr.ntruss.com



3

태그 달기

docker image tag {image name} {Container Registry Endpoint URL}/{imagename}

docker image tag  devopsweb  vwlrpx6c.kr.private-ncr.ntruss.com/devopsweb


4

도커에 푸시하기

docker push {Container Registry Endpoint URL}/{imagename}

docker push vwlrpx6c.kr.private-ncr.ntruss.com/devopsweb


[root@s1802b2025ee sourcecommit]# docker push vwlrpx6c.kr.private-ncr.ntruss.com/devopsweb

Using default tag: latest

The push refers to repository [vwlrpx6c.kr.private-ncr.ntruss.com/devopsweb]

b0c16b0cac34: Pushed

d186e2e65688: Pushed

0026038383ab: Pushed

7f30cde3f699: Pushed

fe810f5902cc: Pushed

dfd8c046c602: Pushed

4fc242d58285: Pushed

latest: digest: sha256:b040b9bbe3f0e58ecadb77920570d58079ff9ca62ecd8376116dd3c1001f94ca size: 1786




5

컨테이너 레지스트리에서 이미지 확인

이미지가 올라간것을 확인 할수 있다.

35메가 파일




6

정리?


컨테이너 레지스트리에 이미지 올리기 위해 node.js로 이미지 하나 만듬

도커 파일을 통해 빌드를 통해 devopsweb 만듬

 Container Registry에 이미지 올리기 위해 로그인하고 푸시함

이제 소스 커밋에 데이터를 넣자.  node.js로 개발한 코드를 넣자.





다음 공부

https://brunch.co.kr/@topasvga/2362


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari