polyglot programming:다양한 언어를 사용하여 프로그래밍 하는 것!
1.컨테이너 어떻게 만들어요 ? DockerFile이 뭐죠 ?
DockerFile: 컨테이너 이미지를 생성할 수 있는 고유의 지시어를 가짐
Dockerfile.txt
예) FROM node:12
COPY hello.js /
CMD ["node","/hello.js"]
docker build -t imagename:tag .
Dockerfile 문법:
#: 설명 /주석이라고 생각하면 된다
FROM: 컨테이너의 BASE IMAGE(운영환경)
MAINTAINER:이미지를 생성한 사람의 이름 및 정보
LABEL: 컨테이너이미지에 컨테이너의 정보를 저장
RUN: 컨테이너 빌드를 위해 base image에서 실행할 commands
COPY: 컨테이너 빌드시 호스트의 파일을 컨테이너로 복사함
ADD: 컨테이너 빌드시 호스트의 파일(tar,url)을 컨테이너로 복사
WORKDIR:컨테이너 빌드시 명령이 실핼될 작업 디렉터리 설정
ENV: 환경변수 지정
USER: 명령 및 컨에티너 실행시 적용할 유저 설정
VOLUME: 파일 또는 디렉토리를 컨테이너의 디렉토리 마운트( DB 등등 )
EXPOSE: 컨테이너 동작 시 외부에서 사용할 포트 지정
CMD:컨테이너 동작 시 자동으로 실행할 서비스나 스크립트 지정
EXTRYPOINT: CMD와 함꼐 사용하면서 COMMAND 로 지정
실제 토이 프로젝트 시 썻었던 간단한 DockerFile
FROM openjdk:11
COPY ./build/libs/devTest-0.0.1-SNAPSHOT.jar application.jar
ENV TZ=Asia/Seoul
EXPOSE 8888
CMD ["java", "-jar", "/application.jar"]
운영환경 jdk 11
copy 아래있는 파일을 application.jar로 만들겠다.
환경 timezone: 아시아 서울
컨테이너 포트 8888로 expose
cmd : 동작 시 자동으로 이 커맨드 실행 java -jar apllication.jar
2.내가 만든 컨테이너를 배포하려면 ??
docker build -t hello js:latest
docker login
docker push hello js:latest
docker push 를 통해 docker hub 에 푸쉬하고 다른사람이 쓸수있게 registry에 저장한다.
직접 가상서버에 접속해서 Container를 백그라운드방식으로 배포하는과정을 아래의 링크에있습니다.
'따배도 스터디' 카테고리의 다른 글
6-1 Docker 컨테이너 사용하기 -이론편 (0) | 2023.04.20 |
---|---|
5-1 컨테이너 보관창고-이론실습편 (0) | 2023.04.10 |
4-2 도커 컨테이너 만들어보기:실습편 (0) | 2023.04.10 |
Docker 3-2 도커 컨테이너 살펴보기 실습편 (0) | 2023.04.09 |
Docker 3-1 도커 컨테이너 살펴보기 (0) | 2023.04.08 |