728x90
1.Node js 어플리케이션 컨테이너 만들기 :Hello.js
mkdir hellojs
cd hellojs/
cat > hello.js
소스코드 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);
- 8080포트로 console에 메세지출력과 reponse로 Container 메세지를 출력해주는 코드이다.
도커파일 생성 DockerFile
vi dockerfile
FROM node:12
COPY hello.js /
CMD ["node","/hello.js"]
-환경변수 node:12버젼
-Hello.js 를 카피하겠다.
-이 컨테이너를 run 할 시 node/hell.js 를 실행시킬것이다.
Docker File을 이용해여 build 를 실시하고 만들어질 이미지이름은 -t옵션을 통해 hellojs:latest로 설정한다.
docker build -t hellojs:latest .
생성이 잘 된 것을 확인할 수 있었다.
2.우분투 기반의 웹서버 컨테이너 만들기
cd ..
mkdir webserver
cd webserver/
도커파일 dockerfile를 아래와 같이 생성한다.
vi Dockerfile
FROM ubuntu:18.04
LABEL maintainer="Minwoo Kim <kbsserver@naver.com>"
# install apache
RUN apt-get update \
&& apt-get install -y apache2
RUN echo "TEST WEB" > /var/www/html/index.html
EXPOSE 80
CMD ["/usr/sbin/apache2ctl","-DFOREGROUND"]
-AA & BB: AA가 성공하면 BB도 이어서 실행해라
2개의 이미지를 생성하게된다. (run 2번 하기때문에)
expose 80: 이 이미지가 가지게 될 포트번호설정
위의 docker 파일을 활용하여 build 실행
docker build -t webserver:v1 .
docker images
docker run -d -p 80:80 --name web webserver:v1
docker rm -f containerId를 입력하게되면 running중인 컨테이너 삭제
3.만들어 놓은 컨테이너 배포하기
제가 만든 이미지파일을 누구나 사용가능하게 만들 것 입니다. (Docker hub 로 push)
docker login
docker tag webserver:v1 kimminwoo1234/webserver:v1
docker images
docker push kimminwoo1234/webserver:v1
728x90
'따배도 스터디' 카테고리의 다른 글
6-1 Docker 컨테이너 사용하기 -이론편 (0) | 2023.04.20 |
---|---|
5-1 컨테이너 보관창고-이론실습편 (0) | 2023.04.10 |
4-1 도커 컨네이너 만들어보기 (0) | 2023.04.09 |
Docker 3-2 도커 컨테이너 살펴보기 실습편 (0) | 2023.04.09 |
Docker 3-1 도커 컨테이너 살펴보기 (0) | 2023.04.08 |