docker搭建rap2
前提安裝docker
安裝docker-compose
涉及到的兩個開源倉庫:
rap2-delos: 後端資料api伺服器,基於koa + mysql 戳這裡
rap2-dolores: 前端靜態資源,基於react 戳這裡
或者使用本人的github倉庫 rynxiao/rap2-docker,已經包含了這兩個倉庫,並加入了配置。
後端部署
在後端部署方面,在github上已經給出了使用docker的部署方面,因此,just follow就好。
> mkdir rap2
> cd rap2
> git clone
> cd rap2-delos
> docker-compose up -d
執行成功後,需要手動初始化資料庫,我們進入物件的容器來操作:
> docker exec -it rap2-delos sh
> node scripts/init
> exit
重新啟動服務:
docker-compose down docker-compose up -d
可以看到暴露出來的埠是38080,我們使用curl命令來測試一下是否成功,如果放回hello rap!,就說明後端已經部署好了。
> curl localhost:38080
前端部署
前端由於沒有提供對應的docker部署方法,因此只有我自己來嘗試部署了。前端使用的是node進行webpack打包,因此需要乙個node的環境,所以我在製作容器的時候需要拉去乙個node映象。
因為部署前端之前沒有看後端的部署,所以我前端拉取了乙個比較新的版本[10.1.0],如果想和後端公用乙個node映象,可以使用這個node:8.11.1-alpine映象。
通過npm run build之後,生成的build資料夾中的只是靜態資源檔案,因此我還需要起乙個伺服器,這裡我通過全域性安裝http-server來啟動乙個服務。
下面是具體的過程:
1. git倉庫拉取
> cd rap2
> git clone
> cd rap2-dolores
2. 建立乙個dockerfile來構建乙個新的node版本映象
> touch dockerfile
> vim dockerfile
dockerfile中的內容為:
# 拉取10.1.0版本的node映象
from node:10.1.0
# 維護人
maintainer ryn
# 建立工作目錄
run mkdir -p /home/rap2-dolores
workdir /home/rap2-dolores
# 將**拷貝至工作目錄
copy . /home/rap2-dolores
# 全域性安裝http-server伺服器
# 全域性安裝node-sass(一定要帶--unsafe-perm,否則會報錯)
run npm install --unsafe-perm -g node-sass
# 安裝依賴
run npm install
# 打包
run npm run build
3. 使用docker-compose來啟動服務 > touch docker-compose.yml > vim docker-compose.yml docker-compose.yml中的內容為:
version: '2.2'
services:
delores:
# 容器名稱
container_name: rap2-dolores
# 通過dockerfile來構建本地映象
build: .
# 通過images來構建,這裡的位址暫不適用,因為src/config中的配置需要根據自己的伺服器來動態構建
# image rynxiao/rap2-dolores-nodejs
# 指定工作目錄
working_dir: /home/rap2-dolores
# 指定生產環境
environment:
- node_env=production
# 啟動http-server,並對映埠到容器內部8081上
更改src/config/config.prod.js中的配置,將介面請求位址指向你的後端伺服器,以下是我的配置,各位按需更改。
module.exports = {
serve: '',
keys: ['some secret hurr'],
session: {
key: 'koa:sess'
注意上面的***.***.***.***是你公網的ip位址,如果你通過埠對映做了二級網域名稱的配置,也可以去掉埠號,直接寫你的二級網域名稱就可以了,比如你的二級網域名稱為: ,那麼serve就可以配置為
啟動服務 > docker-compose up -d
安裝Docker CE 安裝最新版Docker
基於centos安裝docker ce 安裝最新版docker 一 docker版本分支問題 2017年3月 docker在原來的基礎上分為兩個分支版本 docker ce 和docker ee。docker ce即社群版,免費,docker ee即企業版,強調安全,付費使用。因此本文基於cento...
安裝Docker CE 安裝最新版Docker
基於centos安裝docker ce 安裝最新版docker 一 docker版本分支問題 2017年3月 docker在原來的基礎上分為兩個分支版本 docker ce 和docker ee。docker ce即社群版,免費,docker ee即企業版,強調安全,付費使用。因此本文基於cento...
Ubuntu16 04安裝和配置Docker
因為要使用docker進行一些web漏洞相關的實驗,所以學習了下安裝和使用docker的方法,選用ubuntu16的原因不必多說,效能穩定,各種第三方支援也比較完善,話不多說,開始動手!首先,先進行更新 因為通過curl方式安裝可能會出現版本老舊的問題,所以我才用了pip安裝的方式 pip安裝成功後...