320x100
320x100

※ 목표
: git clone을 이미지 빌드와 함께 실행
: main_server 단독 실행


1. Dockerfile 수정
FROM centos
LABEL "main-server"="v0.2"
ADD mongodb-org.repo /etc/yum.repos.d/

RUN yum -y update
RUN yum -y install npm git mongodb-org
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
RUN source ~/.bashrc
RUN systemctl enable mongod
RUN mkdir /usr/mh-db
RUN nohup mongod --dbpath /usr/mh-db &
WORKDIR /usr
RUN git clone https://github.com/KNUT-Mohaemookji/mohaemookji
WORKDIR /usr/mohaemookji
RUN npm -y install
WORKDIR /usr/mohaemookji/main_server

EXPOSE 80

CMD node main_server.js -DFOREGROUND


2. docker build --tag mh_main_image:0.0 ./ 
: 도커 파일을 이미지로 빌드


3. docker run --name mh_main_container -p 80:80 --privileged -d mh_main_image:0.0
: 도커 이미지를 컨테이너로 생성 및 실행
: 컨테이너 내 sudo 권한 불필요 --privileged


4. docker exec mh_main_container -it  bash --privileged


5. kill_main_server.sh
#!/bin/bash

docker stop mh_main_container
docker rm mh_main_container
docker rmi mh_main_image:1.1


6. docker run --name mongodb -d -p 27017:27017 mongo

7. mongodb-org.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc


※ vi
: gg (맨 윗 첫줄로 이동)
: Shift + v +g (전체선택)
: y (전체복사)
: d (전체삭제)
=> 비주얼 모드에서 gg > 전체선택 후 진행


Refference
https://kgon.tistory.com/90

300x250
728x90