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的更多相关文章
- Docker在手,天下我有,在Win10系统下利用Docker部署Gunicorn+Flask打造独立镜像
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_164 书接上回,之前一篇:Win10环境下使用Flask配合Celery异步推送实时/定时消息(Socket.io)/2020年最 ...
- (转)Centos下,Docker部署Yapi接口管理平台
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...
- Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...
- Centos下使用Docker部署asp.net core项目
本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/ ...
- Centos下,Docker部署Yapi接口管理平台
前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...
- Centos下使用Docker部署MySql
本文讲述 CentOS 系统 Docker 中安装 MySql 的过程 步骤 1. 拉取 Docker Hub 官方提供的mysql镜像 docker pull mysql:5.7 2.运行容器 do ...
- 在CentOS下利用Docker一键安装seafile
https://cloud.seafile.com/published/seafile-manual-cn/docker/pro-edition/%E7%94%A8Docker%E9%83%A8%E7 ...
- 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 ...
- centos下kubernetes+flannel部署(旧)
更合理的部署方式参见<Centos下Kubernetes+Flannel部署(新)> 一.准备工作 1. 三台centos主机 k8s(即kubernetes,下同)master: 10. ...
随机推荐
- Linux下安装Go环境
登录Linux Mac或Linux的用户可以用命令ssh root@xxx.xxx.xxx.xxx登录主机Window的用户可以使用SecureCRT登录主机虚拟机用户直接打开你的虚拟机 安装Go环境 ...
- android SIM Switch功能和配置
SIM Switch feature是Smart 3G switch feature在LTE版本号上发展演变而来的功能: MTK双卡双待单通版本号仅仅有一个3/4 G Protocol.所以同一时刻仅 ...
- /dev/shm和swap差别与联系
1.基本理论 /dev/shm这个文件是寄生虫,寄存在内存中 swap是暂时在硬盘中划分一个区域,把它作为内存使用 2.怎样查看 使用df -lh能够查看/dev/shm 使用free -m能够查看s ...
- OpenCASCADE Face Normals
OpenCASCADE Face Normals eryar@163.com Abstract. 要显示一个逼真的三维模型,其顶点坐标.顶点法向.纹理坐标这三个信息必不可少.本文主要介绍如何在Open ...
- TensorFlow的学习
1.先判断python的版本(因为有些python版本自带pip,可以参考我写的对pip的认识的博客文章),选择是否安装pip,然后安装更新tensorflow如:sudo pip install - ...
- 网络最大流算法—Dinic算法及优化
前置知识 网络最大流入门 前言 Dinic在信息学奥赛中是一种最常用的求网络最大流的算法. 它凭借着思路直观,代码难度小,性能优越等优势,深受广大oier青睐 思想 $Dinic$算法属于增广路算法. ...
- Fedora Core 11 Alpha试用视频(由于youtube问题暂时无法访问)
1.系统安装: http://www.youtube.com/watch?v=QcDy5eRQZ20 2.重启后配置 3.体验Fedora 11 Gnome2.25和Kde 4.2 http: ...
- jdbc的数据库驱动类DriverManager.getConnection()详解
1.Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); ...
- 网站平台的favicon.ico的logo
<link rel="shortcut icon" href="http://www.uuop.com/icotemp/2017061703035984/f ...
- 玩转Bash脚本:选择结构之case
总第5篇 之前,我们谈到了if. 这次我们来谈还有一种选择结构--case. case与if if用于选择的条件,不是非常多的情况,假设选择的条件太多.一系列的if.elif,.也是醉了. 没错,ca ...