dockerはnodejs+mongodbを建ててRESTful APIを実現します.

1513 ワード

最近はdockerの利用を学んでいますが、今日はvpsにnodejs RESTful APIサービスを展開しました.データベースはmogdbを使っています.過程を記録しています.
  • クローンは、GigtHub上のnodejsサービスGigtHubアドレス
  • にコピーされました.
    > git clone https://github.com/NxDon/201-nodejs-web.git
    
  • Docerfile
  • を作成します.
    # Statusbar
    
    # VERSION    1.0.0
    FROM daocloud.io/node:5
    MAINTAINER [email protected]
    
    ENV HTTP_PORT 8000
    #            /app   
    COPY . /app
    #     /app         
    WORKDIR /app
    
    RUN npm install --registry=https://registry.npm.taobao.org
    
    EXPOSE 8000
    
    CMD ["npm", "start"]
    
  • がcloneの下にあるディレクトリに入り、イメージ
  • の構築を開始しました.
    cd 201-nodejs-web
    docker build -t restful .  
    
  • ダウンロード公式のモンブランイメージ
  • docker pull mongo
    
  • バックグランド起動mongodb container
  • $ docker run --name mongodb -d mongo
    
  • buildの良いイメージでnodejsのcontainer
  • を起動します.
    # --link      container name :   
    # -d     
    # restful    build  image  
    docker run --name rest --link mongodb:mongo -d restful
    
    このとき、nodejsではindex.jsがmongodbにリンクするアドレスは"mongo:27017"に設定されていますので、nodejsサーバがあるcontainer(rest)はMongoDBのcontainer(mongodb)にアクセスできます.
    参考資料:
  • https://onbing.com/first-blog/
  • https://docs.docker.com/samples/library/mongo/#-or-via-mono
  • https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/芬connect-using-network-port mapping
  • https://www.thachmai.info/2015/05/10/docker-container-linking-mongo-node/