在CentOS中使用docker執行nodejs應用

bzt820801發表於2017-08-13

一、使用yum安裝docker

yum -y install docker

  

二、檢視docker版本

docker  version

 

三、安裝完成後,使用下面的命令來啟動 docker 服務,並將其設定為開機啟動:

[root@localhost ~]# systemctl  start docker.service
[root@localhost ~]# systemctl  enable docker.service

  

四、設定docker加速

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://fp4l15j6.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

  

五、下載nodejs和mongodb的映象。需要的映象在docker阿里雲映象庫上查詢

docker pull node
docker pull mongo

  

六、安裝lrzsz工具,用以將windows上的nodejs檔案 上傳到CentOS上

yum -y install lrzsz

  

七、將nodejs專案資料夾壓縮成tar.gz格式,然後在XShell中移動到指定目錄,輸入rz上傳檔案。(nodejs專案不要包含node_modules資料夾)

cd /home
rz
ls

  

八、解壓專案檔案到指定目錄

mkdir /home/blog
tar zxvf blog.tar.gz blog

  

九、關閉selinux,不關閉這一個就無法實現docker的持久化,修改SELINUX=disabled,然後重啟系統,sestatus檢視是否設定成功

vi /etc/selinux/config

 

十、使用docker執行mongodb資料庫,建立對應資料夾用以持久化

mkdir /home/mongo
docker run --name mongodb -v /home/mongo:/data/db -p 27017:27017 -d mongo

  

十一、將位置移動到解壓的專案資料夾中,編寫Dockerfile來構建自己的映象,之前是解壓到blog資料夾中的,所以將位置改變為/home/blog

cd /home/blog

Dockerfile檔案

#Dockerfile檔案
FROM docker.io/node
# Create app directory
RUN mkdir -p /home/Service
WORKDIR /home/Service
# Bundle app source
COPY . /home/Service
RUN npm install
EXPOSE 3000
CMD [ "npm", "start" ]

執行命令構建映象

docker build -t mynodeapp .

檢視映象

docker images

 

十二、啟動nodejs專案
--link的作用是繫結其他容器,並將該容器以指定名稱暴露給當前容器。下面將mongodb的容器暴露給專案容器,這樣專案才能連線到mongodb。
(記得修改mongodb的連線地址,要不會報錯)
docker run --name nodeApp --link mongodb:mongodb -d -p 3000:3000 mynodeapp

  

十三、檢視所有啟動docker容器

docker ps

 

十四、通過ip在瀏覽器訪問nodejs應用

 

相關文章