-
내가 만든 소스를 포함해서 docker 이미지 빌드하기Cloud 2015. 1. 30. 09:00Dockerfile에 현재 디렉토리를 컨테이너의 /src 등 특정경로에 복사해 넣게 하면됨.그외 실행에 필요한 환경은 RUN 명령어를 이용해서 컨테이너에 설정하면 됨.모든 필요한 환경이 이미지에 포함되니까 나중에는 빌드된 이미지만 배포하면 실행은 문제없이 가능하게 되는구조.다음 package.json, index.js, Dockerfile을 하나의 디렉토리에 만든다.package.json{"name": "docker-centos-hello","private": true,"version": "0.0.1","description": "Node.js Hello world app on CentOS using docker","author": "Daniel Gasienica <daniel@gasienica.ch>","dependencies": {"express": "3.2.4"}}index.jsvar express = require('express');// Constantsvar PORT = 8080;// Appvar app = express();app.get('/', function (req, res) {res.send('Hello world\n');});app.listen(PORT);console.log('Running on http://localhost:' + PORT);DockerfileFROM centos:centos6# Enable EPEL for Node.jsRUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm# Install Node.js and npmRUN yum install -y npm# Bundle app sourceCOPY . /src# Install app dependenciesRUN cd /src; npm installEXPOSE 8080CMD ["node", "/src/index.js"]docker 이미지 빌드하기docker build -t <your username>/centos-node-hello .빌드된 이미지 확인하기docker images이미지 실행하기docker run -p 49160:8080 -d <your username>/centos-node-hello앱의 출력 확인하기docker psdocker logs <container id>앱에 접속해보기접속할 vm의 ip 확인boot2docker ip확인한 ip로 접속curl 192.168.59.103:49160
빌드된 docker 이미지를 docker hub에 배포docker push <container name>
ex) docker push arisu1000/centos-node-hello참고'Cloud' 카테고리의 다른 글
trove 개념 잡기 (0) 2015.02.25 openstack 개념잡기 (0) 2015.02.23 Dockerfile 구조 (0) 2015.01.28 간단한 docker 명령어들 (0) 2015.01.26 맥 os x에 docker 설치하기 (0) 2015.01.23 댓글