클라우드 엔지니어 꿈나무
따배도 도커 컨테이너 만들기 본문
docker file
쉽고, 간단, 명확한 구문을 가진 text file로 TOP DOWN 해석
컨테이너 이미지를 생성할 수 있는 고유의 지시어를 가짐
대소문자 구분하지 않으나 가독성을 위하여 사용함
DOCKER 문법
# : comment
FROM : 컨테이너의 BASE IMAGE (운영 환경)
MAINTAINER : 이미지를 생성한 사람의 이름 및 정보
LABEL : 컨테이너 이미지에 컨테이너의 정보를 저장
RUN : 컨테이너 빌드를 위해 base image에서 실행할 commands
COPY : 컨테이너 빌드 시, 호스트의 파일을 컨테이너로 복사
ADD : 컨테이너 빌드 시, 호스트의 파일(tar, url 포함)을 컨테이너로 복사
WORKDIR : 컨테이너 빌드 시, 명령이 실행될 작업 디렉터리 설정
ENV : 컨테이너 내 환경변수 지정
USER : 명령 및 컨테이너 실행 시, 적용할 유저 설정 (보완점 관점과 관련)
VOLUME : 파일 또는 디렉토리를 컨테이너의 디렉토리로 마운트, 컨테이너가 동작될 때 실행
EXPOSE : port 알려줄 떄, 컨테이너 동작 시 외부에서 사용할 포트 지정
CMD : 컨테이너 동작 시, 자동으로 동작해야 하는 명령어 (컨테이너 러닝할 때 명령어 변경 가능), argument, option 들어감
ENTRYPOINT : CMD와 함께 사용하면서 command 지정 시, 사용(컨테이너 러닝할 때 변경 불가) 반드시 명령어
$ mkdir build
$ cd build
$ vi hello.js
const http = require('http');
const os = require('os');
console.log("Test server starting...");
var handler = function(request, response) {
console.log("Received request from " + request.connection.remoteAddress);
response.writeHead(200);
response.end("Container Hostname: " + os.hostname() + "\n");
};
var www = http.createServer(handler);
www.listen(8080);
$ vi dockerfile
FROM node:12
COPY hello.js #add 로 해도 된다
CMD ["node","/hello.js"]
$ docker build -t hellojs:latest . (. 필수 현재 디렉토리)
$ docker login
$ docker push hellojs.latest
<<참고>>
https://youtu.be/9qnD8aODu-4?si=FQV5liSzw1L08d_d
'container' 카테고리의 다른 글
따배도 Docker 컨테이너를 사용하기 (1) | 2023.10.19 |
---|---|
따배도 도커 컨테이너 만들기 - 실습 (2) | 2023.10.17 |
Docker 따배도 도커 살펴보기 (0) | 2023.10.17 |
Docker 따배도 도커 설치하기 : OS(Ubuntu/CentOS)에 Docker 설치 (1) | 2023.10.15 |
Docker 따배도 도커 설치하기 : VirtualBox Centos 설치 및 네트워크 구성 (1) | 2023.10.15 |