这篇博客是为了记录一下部署步骤。

因为实训需要,我要在服务器上用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

Docker部署golang微服务项目的更多相关文章

  1. 十一、Docker搭建部署SpringCloud微服务项目Demo

    环境介绍 技术选型:SpringCloud&SpringCloud Alibaba&Docker 微服务模块划分: 员工模块:ems-employees 部门模块:ems-depart ...

  2. 基于docker部署的微服务架构(四): 配置中心

    原文:http://www.jianshu.com/p/b17d65934b58%20 前言 在微服务架构中,由于服务数量众多,如果使用传统的配置文件管理方式,配置文件分散在各个项目中,不易于集中管理 ...

  3. docker微服务部署之:三,搭建Zuul微服务项目

    docker微服务部署之:二.搭建文章微服务项目 一.新增demo_eureka模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module ...

  4. docker微服务部署之:二、搭建文章微服务项目

    docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择M ...

  5. docker微服务部署之:一,搭建Eureka微服务项目

    先说明一下docker需要搭建的微服务的基本情况: 项目情况:一个demo_parent项目,下面三个子模块:demo_eureka(eureka服务).demo_article(文章服务).demo ...

  6. Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试

    一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...

  7. Docker 搭建 ELK 读取微服务项目的日志文件

    思路: 在docker搭建elasticsearch与kibana来展示日志,在微服务部署的机子上部署logstash来收集日志传到elasticsearch中,通过kibana来展示,logstas ...

  8. SpringCloud微服务实战——搭建企业级开发框架(三十四):SpringCloud + Docker + k8s实现微服务集群打包部署-Maven打包配置

      SpringCloud微服务包含多个SpringBoot可运行的应用程序,在单应用程序下,版本发布时的打包部署还相对简单,当有多个应用程序的微服务发布部署时,原先的单应用程序部署方式就会显得复杂且 ...

  9. .net core 微服务项目-介绍篇

    项目介绍 1.各种方式连接API都会连接到 APIGateway 来进行统一的分发 Ocelot 2.当api需要授权时 需要请求授权服务 IdentityServer4 3.授权服务对请求进行调用u ...

随机推荐

  1. 如何查看linux服务器的版本和配置信息

    linux下看配置,可没有windows那么直观.你只能一个一个查看. 一:cpu[root@srv /]# more /proc/cpuinfo | grep "modelname&quo ...

  2. 三:MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下 <?xml version="1. ...

  3. python3和pip3安装和问题解决

    python3安装前,最好先安装下依赖包: yum install -y openssl-devel yum install -y openssl yum install -y zlib-devel ...

  4. Python运行MapReducer程序时所遇异常

    landen@Master:~/UntarFile/hadoop-1.0.4$ bin/hadoop jar contrib/streaming/hadoop-streaming-1.0.4.jar ...

  5. ActiveMQ发布-订阅消息模式

    一.订阅杂志我们很多人都订过杂志,其过程很简单.只要告诉邮局我们所要订的杂志名.投递的地址,付了钱就OK.出版社定期会将出版的杂志交给邮局,邮局会根据订阅的列表,将杂志送达消费者手中.这样我们就可以看 ...

  6. Centos 安装python3

    安装python3 大多数云平台没有安装zlib和openssl的devel包,需要提前安装   下载python源码 cd /home/cheat wget https://www.python.o ...

  7. Nodejs学习笔记(九)—与Redis的交互(mranney/node_redis)入门

    简介和安装 redis简介: 开源高性能key-value存储:采用内存中(in-memory)数据集的方式,也可以采用磁盘存储方式(前者性能高,但数据可能丢失,后者正好相反) 支持字符串(strin ...

  8. 精度更高的double类型计算工具类(借助BigDecimal类型)

    /** * 提供精確的加法運算 * @param args */ public static double add(double v1, double v2) { BigDecimal b1 = ne ...

  9. json对象按时间排序

    //正序var data = {"rows": [{"name": "张三","time": "2011/4/ ...

  10. after_create and after_commit

    A relational database, like mysql, provides transactions to wrap several operations in one unit, mak ...