原文:CentOS下利用Docker部署Surging

1. 安装Centos, 配置固定ip
配置文件地址vi /etc/sysconfig/network-scripts/ifcfg-ens33
```
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.0.101
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=d197ec13-2ec7-42a6-8899-2bd0bacfc2ca
DEVICE=ens33
ONBOOT=yes
ZONE=public
```

备注:配置防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

2. 安装Docker(自己网上找)

```
# 定义安装版本
export docker_version=17.03.2

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common bash-completion

# Step 2: 更新并安装 Docker-CE
sudo apt-get -y update
version=$(apt-cache madison docker-ce|grep ${docker_version}|awk '{print $3}')

# --allow-downgrades 允许降级安装
sudo apt-get -y install docker-ce=${version} --allow-downgrades

# 启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

```
3.安装Rancher

```
# 下载镜像
docker pull rancher/server
#运行实例
docker run -d --restart=always -p 8080:8080 rancher/server

```
备注:
1. 添加主机时直接拷贝生成的命令运行即可
2. UI地址http://192.168.0.101:8080

4. 安装Rabbitmq

```
#下载镜像
docker pull rabbitmq:management
#运行实例
docker run -d --name rabbitmq --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \rabbitmq:management
```
备注:UI地址http://192.168.0.101:15672
5. 安装Consul

```
#获取镜像
docker pull consul

#运行实例node1的server
docker run -d --name node1 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server -node=node1 -bootstrap-expect=1

#获取node1的ip
JOIN_IP="$(docker inspect -f '{{.NetworkSettings.IPAddress}}' node1)"

#运行实例node2的server
docker run -d --name node2 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server -node=node2 -join $JOIN_IP

#运行带ui的client
docker run -d --name node11 -p 8400:8400 -p 8500:8500 -p 8600:53/udp -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -ui -node=node11 -client=0.0.0.0 -join $JOIN_IP

#查看节点
docker exec node1 consul members
```
备注:
1.运行带UI命令时如果报错就先删除运行的容器node11,然后重新启动系统后再运行命令
2.UI地址http://192.168.0.101:8500

6.安装dotnetcore 2.1 runtime

```
docker pull microsoft/dotnet:2.1-runtime

#此命令会进入容器内,Ctrl+P+Q 退出 
docker run -it microsoft/dotnet:2.1-runtime
#
```

7.获取Surging源码,发布服务代码并上传

```
#发布代码
dotnet publish -r centos.7-x64 -c release

#创建镜像
docker build -t surgingserver .

#运行服务
docker run --name surgingserver --env Mapping_ip=192.168.0.101 --env Mapping_Port=98 --env RootPath=/webapps/surgingserver/publish --env Register_Conn=192.168.0.101:8500 --env EventBusConnection=172.17.0.4 --env Surging_Server_IP=0.0.0.0 -v /webapps/surgingserver/publish:/webapps/surgingserver/publish -it -p 98:98 surgingserver
```

备注:
ip换成自己系统对应的ip
RootPath为上传的代码路径
EventBusConnection为MQ的docker分配的ip,可以再Rancher看到
8.发布网关代码

```
#发布代码
dotnet publish -r centos.7-x64 -c release

#创建实例
docker build -t surgingapi .

#运行网关容器
docker run --name surgingapi -it -p 729:729 --env Register_Conn=192.168.0.101:8500 surgingapi
```
备注:
1. 网关地址http://192.168.0.101:729

CentOS下利用Docker部署Surging的更多相关文章

  1. Docker在手,天下我有,在Win10系统下利用Docker部署Gunicorn+Flask打造独立镜像

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_164 书接上回,之前一篇:Win10环境下使用Flask配合Celery异步推送实时/定时消息(Socket.io)/2020年最 ...

  2. (转)Centos下,Docker部署Yapi接口管理平台

    接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...

  3. Centos下,Docker部署Yapi接口管理平台(详细得令人发指)

    接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...

  4. Centos下使用Docker部署asp.net core项目

    本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/ ...

  5. Centos下,Docker部署Yapi接口管理平台

    前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...

  6. Centos下使用Docker部署MySql

    本文讲述 CentOS 系统 Docker 中安装 MySql 的过程 步骤 1. 拉取 Docker Hub 官方提供的mysql镜像 docker pull mysql:5.7 2.运行容器 do ...

  7. 在CentOS下利用Docker一键安装seafile

    https://cloud.seafile.com/published/seafile-manual-cn/docker/pro-edition/%E7%94%A8Docker%E9%83%A8%E7 ...

  8. Centos下Kubernetes+Flannel部署(新)

    一.准备工作 1) 三台centos主机 k8s master: 10.11.151.97  tc-151-97 k8s node1: 10.11.151.100  tc-151-100 k8s no ...

  9. centos下kubernetes+flannel部署(旧)

    更合理的部署方式参见<Centos下Kubernetes+Flannel部署(新)> 一.准备工作 1. 三台centos主机 k8s(即kubernetes,下同)master: 10. ...

随机推荐

  1. xwiki操作手册

    Xwiki官网:http://www.xwikichina.com/xwiki/bin/view/Main/中文官网. 1   用户管理 1.1    添加新用户 用户管理需要管理员权限,管理员登陆后 ...

  2. python 服务端判断客户端异常断开

    在进行 python 套接字编程时,服务端程序要判断客户端是否异常断开[由于断电或者其他突发情况导致链接中断],可以通过以下几种方式判断: 1.如果通信协议中,设有心跳包,则可记录上次收到时间,将服务 ...

  3. javaWeb自己定义可排序过滤器注解,解决Servlet3.0下@WebFilter注解无法排序问题

    com.lwl.anno 凝视类型 @WebFilterSort 须要用的jar包 http://download.csdn.net/detail/u013202238/9431110 用该注解注冊的 ...

  4. /dev/shm和swap差别与联系

    1.基本理论 /dev/shm这个文件是寄生虫,寄存在内存中 swap是暂时在硬盘中划分一个区域,把它作为内存使用 2.怎样查看 使用df -lh能够查看/dev/shm 使用free -m能够查看s ...

  5. 马上运行函数-$(function(){})篇

    QQ:1187362408 欢迎技术交流和学习 马上运行函数-$(function(){})篇(jquery): TODO: 1.jquery:jQuery(function($){ }) 与 $(d ...

  6. crm2011处理save事件和获取当前窗口信息

    //防止保存记录,eContext:当前上下文对象 function My_PreventSaveFunction(eContext) {     eContext.getEventArgs().pr ...

  7. 通过jQuery的Ajax方式来提交Form表单

    通过jQuery的Ajax方式来提交Form表单 $.ajax({ url:ajaxCallUrl, type:"POST", cache:true, async:false, d ...

  8. 2.Brackets安装及常用插件安装

    转自:https://blog.csdn.net/autumn20080101/article/details/53171326 Brackets 是一个免费.开源且跨平台的 HTML/CSS/Jav ...

  9. tee---读取标准输入,将内容输出成文件

  10. 【2017 Multi-University Training Contest - Team 2】 Regular polygon

    [Link]: [Description] 给你n个点整数点; 问你这n个点,能够组成多少个正多边形 [Solution] 整点只能构成正四边形. 则先把所有的边预处理出来; 枚举每某两条边为对角线的 ...