Docker部署golang微服務項目


這篇博客是為了記錄一下部署步驟。

因為實訓需要,我要在服務器上用docker部署我們小組的微服務項目。我們的微服務有Gateway,User,Scene,Device四個部分,分別占用不同的端口,其中Gateway向小程序前端提供https服務,其他三個提供http服務(服務之間的通信)。
四個服務都直接訪問docker宿主機的一個容器中mysql,該mysql設置了端口映射。

Docker容器之間的通信有三種方法,我采用user-defined網絡,自定義各個服務的ip,互相之間通過ip通信。

https://www.cnblogs.com/CloudMan6/p/7096731.html

首先創建一個user-defined網絡:

sudo docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2

subnet指定了子網的網段,gateway指定了子網網關

go get github.com/go-sql-driver/mysql
go get github.com/tidwall/gjson

gateway

sudo docker run -it -p 443:443 --name=gateway --network=my_net2 --ip 172.22.16.2 yh

/go-path/src/YouHome_server/services/Proxy

room

sudo docker run -it --name=room --network=my_net2 --ip 172.22.16.3 yh
/go-path/src/YouHome_server/services/Room

devcie

sudo docker run -it --name=device --network=my_net2 --ip 172.22.16.4 yh

/go-path/src/YouHome_server/services/Device

user

sudo docker run -it --name=user --network=my_net2 --ip 172.22.16.5 yh

/go-path/src/YouHome_server/services/User

創建、進入數據庫

sudo docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

sudo docker run -it --net host mysql:5.7 "sh"

mysql -h127.0.0.1 -P3306 -uroot -proot


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM