보라코딩
Day 11, 도커 본문
컨테이너 만들려면 필요한 3가지
- Dockerfile : 컨테이너 어떻게 만들지 설명서
- copy files : 어플리케이션 구동 필요 파일
- install dependencies : 라이브러리, 프레임워크
- set environment variables : 환경변수
- run setup scripts : 구동 스크립트
- Image : application의 상태를 snapshot해서 이미지로 만든 것
- Container : 이미지를 통해 각각의 컨테이너 만듬. 컨테이너는 고립된 환경에서 어플리케이션을 실행할 수 있는 곳
컨테이너 실행 방법
- local machine과 server에 도커 설치
- Dockerfile 만들어서 Build -> image 만들기
- image를 container registry에 push하여 올림
- 도커에서 pull (다운)해서 컨테이너 실행

node.js 통한 컨테이너 실습
npm init -y
npm i express
: 프로젝트 초기화index.js 파일 생성
후 아래 코드 입력
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send("Docker~~~~");
});
app.listen(8080, () => console.log("Server is running~~~~"));
- 터미널에
node index.js
입력하면 서버 실행
Dockerfile 만들기
Dockerfile 파일 생성
후 아래와 같이 입력
# 어떤 베이스 이미지 사용할 것인지
FROM node:16-alpine
# 이미지 파일 안에서 어떤 디렉토리에 어플리케이션 복사해 올 것인지
WORKDIR /app
COPY package.json package-lock.json ./
# npm install 대신에 ci 사용하면 버전 동일한 것으로 설치됨
RUN npm ci
# 자주 변경되는 것은 아래에 작성
COPY index.js .
# node 실행하고 index.js 파일 실행해
ENTRYPOINT [ "node", "index.js" ]
이미지 만들기
- 터미널에
docker build -f Dockerfile -t fun-docker .
입력.
: build context로 명령어 실행하는 현재 경로 지정해줌 (최상위 경로에 Dockerfile 있어서 . 입력)-f
: 어떤 도커파일 사용할 것인지 명시-t
: 도커 이미지에 이름 부여 (태그 개념)docker images
: 이미지 생성되었는지 확인하기
도커 컨테이너 실행
docker run -d -p 8080:8080 fun-docker
-d
: detached (터미널아, 기다리지 말고 너 하는 일 해)-p
: 포트 지정 및 연결
docker logs 607700e0d1a2
: 컨테이너 id 입력하여 로그 확인
이미지 배포
- dockerhub 홈페이지로 들어가서 create repository
docker push gaeun0811/docker-example:tagname
docker tag fun-docker:latest gaeun0811/docker-example:latest
- 리파지토리랑 이름이 똑같아야 하므로 tag 이용해서 기존 이름인 fun-docker에서 리파지토리 이름 변경
docker images
로 확인docker login
후 도커 아이디, 비밀번호 입력docker push gaeun0811/docker-example:latest

'개발자가 되었다?' 카테고리의 다른 글
Day 13, C# (심심해서 윈폼 실습도.. ㅎㅎ) (0) | 2023.09.02 |
---|---|
Day 12, C# (0) | 2023.08.31 |
Day 10, 도커 (0) | 2023.08.29 |
Day9, 도커 설치, 명령어 + 참고자료 (0) | 2023.08.28 |
Day 8, Mongo DB (1) | 2023.08.25 |