# 分前端部署说明
body{margin:0 auto;font-family:Georgia,Palatino,serif;color:#444;line-height:1;max-width:960px;padding:5px}h1,h2,h3,h4{color:#111;font-weight:400}h1,h2,h3,h4,h5,p{margin-bottom:16px;padding:0}h1{font-size:28px}h2{font-size:22px;margin:20px 0 6px}h3{font-size:21px}h4{font-size:18px}h5{font-size:16px}a{color:#09f;margin:0;padding:0;vertical-align:baseline}a:hover{text-decoration:none;color:#f60}a:visited{color:purple}ul,ol{padding:0;margin:0}li{line-height:24px;margin-left:44px}li ul,li ul{margin-left:24px}p,ul,ol{font-size:14px;line-height:20px;max-width:540px}pre{padding:0 24px;max-width:800px;white-space:pre-wrap}code{font-family:Consolas,Monaco,Andale Mono,monospace;line-height:1.5;font-size:13px}aside{display:block;float:right;width:390px}blockquote{border-left:.5em solid #eee;padding:0 2em;margin-left:0;max-width:476px}blockquote cite{font-size:14px;line-height:20px;color:#bfbfbf}blockquote cite:before{content:'�4 �A0'}blockquote p{color:#666;max-width:460px}hr{width:540px;text-align:left;margin:0 auto 0 0;color:#999}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type=checkbox],input[type=radio]{cursor:pointer}input:not([type="image"]),textarea{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:normal;margin-bottom:18px}input[type=checkbox],input[type=radio]{cursor:pointer;margin-bottom:0}input[type=text],input[type=password],textarea,select{display:inline-block;width:210px;padding:4px;font-size:13px;font-weight:normal;line-height:18px;height:18px;color:gray;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}select,input[type=file]{height:27px;line-height:27px}textarea{height:auto}:-moz-placeholder{color:#bfbfbf}::-webkit-input-placeholder{color:#bfbfbf}input[type=text],input[type=password],select,textarea{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.1)}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:0;border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6)}button{display:inline-block;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);background-color:#0064cd;background-repeat:repeat-x;background-image:-khtml-gradient(linear,left top,left bottom,from(#049cdb),to(#0064cd));background-image:-moz-linear-gradient(top,#049cdb,#0064cd);background-image:-ms-linear-gradient(top,#049cdb,#0064cd);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#049cdb),color-stop(100%,#0064cd));background-image:-webkit-linear-gradient(top,#049cdb,#0064cd);background-image:-o-linear-gradient(top,#049cdb,#0064cd);background-image:linear-gradient(top,#049cdb,#0064cd);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);border:1px solid #004b9a;border-bottom-color:#003f81;-webkit-transition:.1s linear all;-moz-transition:.1s linear all;transition:.1s linear all;border-color:#0064cd #0064cd #003f81;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}button:hover{color:#fff;background-position:0 -15px;text-decoration:none}button:active{-webkit-box-shadow:inset 0 3px 7px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 3px 7px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 3px 7px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}button::-moz-focus-inner{padding:0;border:0}
分前端部署说明
## 镜像地址
code.dev.soooner.com:65000/hotel/front:19.7.29.2
## 部署(centos7 docker-ce 最新版)
### 安装docker运行环境
** 已安装请跳过这一步
** 不会安装请参考
docker安装教程 : https://www.jianshu.com/p/d9dbf7e23722
#### 安装yum管理工具
> yum install -y yum-utils
> yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#### 查看防火墙状态并禁用
> systemctl status firewalld
> systemctl stop firewalld
> systemctl disable firewalld
#### 查看是否已安装docker
> ps -ef|grep docker
# 安装docker-ce最新版
> yum install docker-ce
...等其它步骤完成环境的安装配置
# 启动容器
> systemctl start docker
# 查看docker状态
> systemctl status docker
#### 修改docker配置
> vi /etc/docker/daemon.json
如:
{
"registry-mirrors":["http://hub-mirror.c.163.com"],
"data-root":"/home/soooner/docker-home",
"insecure-registries":["code.dev.soooner.com:65000"]
}
##运行容器
### 配置私有仓库地址
vi /etc/docker/daemon.json
# 增加配置项: "insecure-registries":["code.dev.soooner.com:65000"]
# 例如我本地的配置:
{
"registry-mirrors":["http://hub-mirror.c.163.com"],
"data-root":"/home/soooner/docker-home",
"insecure-registries":["code.dev.soooner.com:65000"]
}
### 拉取镜像
> docker pull code.dev.soooner.com:65000/hotel/front:19.7.29.2
### 运行命令
docker run -itd --name front1 --privileged=true --restart=always \
-p 1801:801 \
-p 16000:6000 \
-e "FRONT_CODE=F1" \
-e "CENTER_SERVER=api.hotel.wasu.tv" \
-v /home/soooner/data:/data1 \
-v /dev/mem:/dev/mem \
code.dev.soooner.com:65000/hotel/front:19.7.29.2
#### 参数说明:
--name front1 # 指定运行容器的容器名称,可以更改为其他名称
-p 1801:801 # 端口映射, 1801 可以改成其他端口, 该端口为分前端对外提供服务的端口
-p 16000:6000 # 没有冲突可以不改
-e "FRONT_CODE=F1" # 分前端标识
-e "CENTER_SERVER=api.hotel.wasu.tv" # 指定中心API地址
-v /home/soooner/data:/data1 \ # 映射分前端数据存储路径
code.dev.soooner.com:65000/hotel/front:19.7.29.2 # 容器镜像地址(这里为私有仓库,需修改docker配置文件并重启docker)