一、前期準備
第三章源碼
通過Redeme可知需要以下基本環境:
1.Docker。
2.Postgres。
用虛擬機(Centos7.6)搭了Docker環境,Postgres的話直接用Docker容器運行就行,簡單粗暴。
docker pull postgres:9.1 #書上用的是9.1,爲了不給自己添麻煩,也用9.1
docker run --name postgres1 -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:9.1 #默認用戶名postgres 密碼password
firewall-cmd --add-port=5432/tcp --permanent #開端口
firewall-cmd --reload #重載防火牆
二、配置更改
配置服務開啓本地配置。
數據庫連接配置:
用navicat連接數據庫,新建eagle_eye_local庫。然後找到sql,運行新建表。
最後分別運行兩個服務(配置服務在先)。
然後用postman訪問env結點(格式化,好看)。
三、在Docker裏運行。
先排除干擾,書上說加了加密模塊,這裏爲了學習,暫時把它去掉。爲了方便,這裏用Idea裏集成Docker遠程API直接打包鏡像。
然後在linux上配置Docker開啓遠程API。
vi /lib/systemd/system/docker.service
#找到service節點,更改ExecStart爲
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
#然後重新加載配置文件
systemctl daemon-reload
service docker restart
#再然後測試一下端口能不能用
curl http://localhost:2375/verion
#最後防火牆開啓端口
firewall-cmd --add-port=2375/tcp --permanent
firewall-cmd --reload
接下來去Idea裏找到項目pom文件,增加一個host配置。
然後記得先打包成jar。
接下來只需要點擊docker bulid即可。
成功之後是這樣的。
另外一個也這樣操作一下。
最終大概就是這樣:
到此爲止,鏡像算是搞定了,然後就是用docker-compose.xml的文件來編排服務了。這裏注意Version版本,要和你的一致,比比如我的,就改成了version:“3”。
將其上傳到linux。
服務編排的時候要用到swarm。
#初始化
docker swarm init
#運行 將服務命名爲 mysite
docker stack deploy -c docker-compose.yml mysite
#查看運行狀況
docker service ls
如果運行失敗的話,可以將三個鏡像分別運行,然後調試即可。
#之前運行過postgres的話,就不要再運行了
docker run --name postgres1 -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:9.1
docker run --name configservice -d -p 8888:8888 johncarnell/tmx-confsvr:chapter3
運行完這兩個以後。
idea裏就可以運行licenses檢查是否成功了。
最後再運行:
docker run --name licensingservice -d -p 8080:8080 johncarnell/tmx-licensing-service:chapter3