Repository files navigation
공식 메뉴얼 : https://docs.docker.com/engine/reference/commandline/build/
이미지 빌드 후 생긴 이미지들 모두 삭제
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
도커 튜토리얼을 따라히실 분들은 디렉토리 순서대로 학습 하시기 바랍니다.
도커의 핼로우 월드
빌드 : docker build --tag myhello:0.1 .
실행 : docker run --rm myhello:0.1
주요 관점
이미지 빌드하기
Ubuntu 베이스 이미지와 Alpine 베이스 이미지의 용량 차이 비교
각종 주요 도커파일 키워드(명령어) 확인
nginx 내손으로 만들기
빌드 : docker build --tag mynginx:0.1 .
실행 : docker run -d -p 80:80 mynginx:0.1
주요 관점
리얼 이미지 만들기
non-interactive 한 형태로 도커파일 만들기
daemonize 되지 않는, foreground 형태로 실행파일 만들기 (콘솔 로그까지 출력되면 best)
TZ 및 clean-up 까지 처리 하면 완벽한 마무리
flask 앱 만들기
빌드 : docker build --tag myflask:0.1 .
실행 : docker run -p 5000:5000 myflask:0.1
주요 관점
실제 앱 만들기
파일의 복사
불필요한 파일의 예외처리(.dockerignore)
flask 앱 만들기
빌드 : docker build --tag myflask:0.2 .
실행 : docker run -d -e APP_COLOR=red -p 5000:5000 myflask:0.2
주요 관점
더 리얼한 앱 만들기
파일 및 디렉토리의 복사
패키지의 설치 및 Dev 와 Ops 환경의 sync 맞추기
express 앱 만들기
빌드 : docker build --tag myexpress:0.1 .
실행 : docker run -d -p 8000:8000 myexpress:0.1
주요 관점
JS 앱 만들기
npm, package.json, package-lock.json 및 node_modules 의 명확한 이해
불필요한 개발도구 파일의 운영 환경에서의 제거
npm i express # npm install express
npm i -D nodemon # npm install nodemon --save-dev
npm install --production # export NODE_ENV=production 및 npm install
script { " start" : " nodemon app.js" }
npm start
Dev 와 Ops 환경의 sync 맞추기
java 앱 만들기
빌드 :
docker build --tag javaapp:0.1 .
docker build --tag javaapp:0.2 -f Dockerfile.v2 .
docker build --tag javaapp:0.3 -f Dockerfile.v3 .
실행 : docker run --rm javaapp:0.1
주요 관점
싱글 스테이지 빌드 (비효율적 컴파일)
싱글 스테이지 빌드 (잘못된 바이너리 복사)
멀티 스테이지 빌드 (올바른 컴파일 및 이미지 최적화)
멀티 스테이지 빌드 (BEST 예시)
golang 앱 만들기
빌드 :
docker build --tag goapp:0.1 .
docker build --tag goapp:0.2 -f Dockerfile.v2 .
주요 관점
싱글 스테이지 빌드 (비효율적 컴파일)
멀티 스테이지 빌드 (올바른 컴파일 및 이미지 최적화)
멀티 스테이지 빌드 (BEST 예시)
dockercompose 를 사용한 개발/배포/운영
계정 로그인 : docker login
이미지 태깅 : docker tag <my-local-image:tag> <account/image:tag>
이미지 푸시 : docker push <account/image:tag>
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Languages
Python
44.7%
Go
34.9%
Dockerfile
12.2%
Shell
5.1%
JavaScript
2.1%
HTML
0.6%
Java
0.4%
You can’t perform that action at this time.