从品牌网站建设到网络营销策划,从策略到执行的一站式服务
注意:
创新互联建站自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、网站制作、外贸营销网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
如果应用工程没有变动, 那oracle服务重启后, 应用会自动重新连接, 服务也会恢复正常.
但是如果应用工程在启动时oracle未运行, 数据库连接失败会直接导致工程启动失败, oracle重新运行后也无法恢复, 只能重启应用工程.
为实现服务器启动 -> docker服务启动 -> oracle容器启动 -> oracle服务启动 -> 应用容器启动的顺序保持不变. 以及实现docker服务启动后, 添加防火墙规则允许容器内部访问宿主机, 需要做如下修改.
init.sh
脚本oracle
容器中, /root/init.sh
脚本原来是使sysctl
内核参数及ulimit
生效的, 现在修改如下
#!/bin/bashsysctl -p chown oracle:oinstall /opt/oracle su - oracle << EOF lsnrctl start sqlplus "/as sysdba" << EOF startup EOF## 上面的EOF将被两个'<<'符号共用.echo 'complete...'
oracle
容器启动后没有运行服务, 进入到容器中, 执行这个脚本就可以启动oracle了.
编辑/usr/lib/systemd/system/docker.service
文件(这是一个类.ini
的配置文件). 在[Service]
块中添加如下行
ExecStartPost=/bin/bash /root/onDockerStart.sh
ExecStartPost
表示在docker服务启动后执行的操作, 上述行表示在docker服务启动后, 执行onDockerStart.sh
脚本. 脚本内容如下
#!/bin/bash## 解除容器内部访问宿主机的限制## 有些情况下可能不存在INPUT_direct链iptables -I INPUT_direct -s 172.21.0.0/16 -j ACCEPT || iptables -I INPUT -s 172.21.0.0/16 -j ACCEPT## 启动oracleoracle_cid=$(docker ps | grep oracle-final | awk '{print $1}') docker exec $oracle_cid bash /root/init.shexit 0
对于应用与数据库分离的情况, 只要保证数据库已经启动, 然后重启启动
{cas,skydata-se,drgs,hdc-manager,etlloader}
这些容器就可以了.
docker stop|start {cas,skydata-se,drgs,hdc-manager,etlloader}
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图