Commit 8b972d97 authored by 吴贤德's avatar 吴贤德

script

parent f4627fbd
FROM centos6.9
MAINTAINER from xd.5 (xpemail@163.com)
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
mkdir -p /var/spool/cron/ && \
touch /var/spool/cron/root && \
echo -e "5 */4 * * * /usr/sbin/ntpdate cn.pool.ntp.org" >> /var/spool/cron/root && \
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup && \
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && \
yum install -y ntpdate && \
yum install -y initscripts && \
yum install -y sysstat && \
yum clean all
\ No newline at end of file
#################
# 编译并Tag : docker build --rm -t code.dev.soooner.com:65000/hotel/front:19.8.14.1 .
# 推送 : docker push code.dev.soooner.com:65000/hotel/front:19.8.14.1
#################
FROM code.dev.soooner.com:65000/base/centos:6.9-soooner
MAINTAINER from xd.5 (xpemail@163.com)
ADD soooner_front.19.8.14.1.tar.xz /
COPY entrypoint.sh /sbin
RUN chmod +x /sbin/entrypoint.sh && \
cp /soooner/nginx/init.d/nginx /etc/init.d/nginx && \
cp /soooner/redis/init.d/redis6000 /etc/init.d/redis6000 && \
cp /soooner/sreport/init.d/sreport /etc/init.d/sreport
ENV FRONT_CODE=DEFAULTCODE
ENV CENTER_SERVER=api.hotel.wasu.tv
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 801
EXPOSE 6000
CMD ["/bin/bash"]
\ No newline at end of file
docker run -itd --name front1 --privileged=true --restart=always \
-p 1801:801 \
-p 16000:6000 \
-e "FRONT_CODE=yWwBLjnN" \
-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.8.8.1
\ No newline at end of file
#分前端版本变更历史
##19.8.14.1
1.修复dns解析老失败问题(换种方式看看)
2.修复了nginx proxy_cache和slice模块的一点bug
3.回源限速16Mbps,终端播放限速32Mbps
\ No newline at end of file
#!/bin/sh
mkdir -p /data1/redis
echo "export FRONT_CODE=$FRONT_CODE" > /soooner/configs/env
echo "export CENTER_SERVER=$CENTER_SERVER" >> /soooner/configs/env
service crond start
service redis6000 start
service nginx start
service sreport start
exec "$@"
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title># 分前端部署说明</title>
<meta charset="utf-8">
<style type="text/css">
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}
</style>
</head>
<body>
<h1>分前端部署说明</h1>
<p> ## 镜像地址</p>
<pre><code> code.dev.soooner.com:65000/hotel/front:19.8.6.1
</code></pre>
<p> ## 部署(centos7 docker-ce 最新版)</p>
<p> ### 安装docker运行环境</p>
<pre><code>** 已安装请跳过这一步
** 不会安装请参考
docker安装教程 : https://www.jianshu.com/p/d9dbf7e23722
</code></pre>
<p> #### 安装yum管理工具</p>
<pre><code>&gt; yum install -y yum-utils
&gt; yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
</code></pre>
<p> #### 查看防火墙状态并禁用</p>
<pre><code>&gt; systemctl status firewalld
&gt; systemctl stop firewalld
&gt; systemctl disable firewalld
</code></pre>
<p> #### 查看是否已安装docker</p>
<pre><code>&gt; ps -ef|grep docker
# 安装docker-ce最新版
&gt; yum install docker-ce
...等其它步骤完成环境的安装配置
# 启动容器
&gt; systemctl start docker
# 查看docker状态
&gt; systemctl status docker
</code></pre>
<p> #### 修改docker配置</p>
<pre><code>&gt; 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"]
}
</code></pre>
<p> ##运行容器</p>
<p> ### 配置私有仓库地址</p>
<pre><code>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"]
}
</code></pre>
<p> ### 拉取镜像</p>
<pre><code>&gt; docker pull code.dev.soooner.com:65000/hotel/front:19.8.6.1
</code></pre>
<p> ### 运行命令</p>
<pre><code> 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.8.6.1
</code></pre>
<p> #### 参数说明:</p>
<pre><code>--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.8.6.1 # 容器镜像地址(这里为私有仓库,需修改docker配置文件并重启docker)
</code></pre>
<!-- Use style in style2-->
</body></html>
\ No newline at end of file
#分前端版本升级流程
分前端升级需停止原先已运行的分前端,如果考虑资源占用的话可以移除之前运行的版本
,然后使用新版本镜像运行容器。
##步骤
1. 查看目前的容器进程,确认容器是否运行中
> docker ps -a
2. 停止容器
> docker stop front1
3. 移除容器
> docker rm front1
4. 使用新版本镜像运行容器
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.8.6.2
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment