Windows Docker镜像构建之Oracle客户端
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,新版的Windows 2016已经支持原生Docker,现在也将部分服务往Docker上迁移进行测试。环境中有使用.net 3.5和.net 4.0以及有使用Oracle客户端,因此Web容器就需要安
千家信息网最后更新 2025年01月21日Windows Docker镜像构建之Oracle客户端
新版的Windows 2016已经支持原生Docker,现在也将部分服务往Docker上迁移进行测试。
环境中有使用.net 3.5和.net 4.0以及有使用Oracle客户端,因此Web容器就需要安装Oracle客户端
Dockerfile
FROM microsoft/iis# install .NET 3.5ADD sxs /sxsRUN Dism /online /enable-feature /featurename:NetFX3 /All /Source:C:\sxs /LimitAccess && del /S /Q C:\sxs# install ASP.NET 4.5RUN dism /online /enable-feature /all /featurename:NetFx4 /featurename:IIS-ApplicationInit /featurename:IIS-ASPNET45 /featurename:IIS-ASPNET /NoRestart# enable windows eventlogRUN powershell.exe -command Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Application Start 1# set IIS log fieldsRUN /windows/system32/inetsrv/appcmd.exe set config /section:system.applicationHost/sites /siteDefaults.logFile.logExtFileFlags:"Date, Time, ClientIP, UserName, SiteName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, TimeTaken, ServerPort, UserAgent, Referer, HttpSubStatus" /commit:apphost# install Oracle ClientADD win64_11gR2_client.zip /win64_11gR2_client.zipADD unzip.exe /unzip.exeRUN /unzip.exe /win64_11gR2_client.zip && del /S /Q win64_11gR2_client.zipADD client.rsp /client/client.rspRUN /client/setup.exe -silent -force -noconsole -ignoreSysPrereqs -ignorePrereq -waitforcompletion -responseFile C:\client\client.rsp && del /S /Q client#RUN cacls c:\app /T /E /C /G users:r# deploy webapp#COPY publish /inetpub/wwwroot/html# set entrypoint scriptADD SetHostsAndStartMonitoring.cmd \SetHostsAndStartMonitoring.cmdENTRYPOINT ["C:\\SetHostsAndStartMonitoring.cmd"]# declare volumesVOLUME ["c:/inetpub/logs/LogFiles","C:/inetpub/wwwroot/html"]
Dockerfile涉及的文件内容有
sxs #在Windows Server 2016 安装包的\sources\sxs\目录
unzip.exe #Oracle Client客户端安装包的client\install目录下
win64_11gR2_client.zip #自行到官方下载
client.rsp #Oracle客户端安装响应文件
SetHostsAndStartMonitoring.cmd
client.rsp
oracle.install.responseFileVersion=http://www.oracle.com/2007/install/rspfmt_clientinstall_response_schema_v11_2_0ORACLE_HOSTNAME= UNIX_GROUP_NAME=INVENTORY_LOCATION=C:\Program Files\Oracle\InventorySELECTED_LANGUAGES=zh_CN,en ORACLE_HOME=C:\app\Administrator\product\11.2.0\client_1ORACLE_BASE=C:\app\Administratororacle.install.client.installType=Runtimeoracle.install.client.customComponents="oracle.precomp:11.2.0.1.0","oracle.ons:11.2.0.0.0","oracle.oraolap.mgmt:11.2.0.1.0","oracle.rdbms.scheduler:11.2.0.1.0"oracle.install.client.customComponents=oracle.install.client.oramtsPortNumber=49152oracle.install.client.schedulerAgentHostName=oracle.install.client.schedulerAgentPortNumber=
SetHostsAndStartMonitoring.cmd
echo %HOST% >>/Windows/System32/drivers/etc/hosts/windows/system32/inetsrv/appcmd.exe delete site "Default Web Site/"/windows/system32/inetsrv/appcmd.exe add apppool /name:"%site_name%" /managedRuntimeVersion:"v%site_version%.0" /managedPipelineMode:Classic -queueLength:65535/windows/system32/inetsrv/appcmd.exe add site /name:"%site_name%" /physicalPath:"c:\inetpub\wwwroot\html" -serverAutoStart:true /bindings:http://*:80 /windows/system32/inetsrv/appcmd.exe set site /site.name:"%site_name%" /[path='/'].applicationPool:"%site_name%"c:\ServiceMonitor.exe w3svc
文件中涉及到三个环境变量
HOST #因为windows Docker无法通过--add-host指host这里通过这种方法指host
site_name #站点域名
site_version #.net版本
Docker启动示例:
docker run -d -p 80 -e site_name=fengwan.blog.51cto.com -e site_version=4 -e host="192.168.2.2 db.51cto.com" -v c:/webroot/fengwan:c:/inetpub/wwwroot/html -v c:/logs:c:/inetpub/logs/logFiles p_w_picpath_name
客户
客户端
文件
环境
目录
三个
内容
变量
域名
官方
容器
方法
版本
示例
站点
部分
支持
服务
测试
镜像
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技小屋互联网
威海网络安全110报警
阿里巴巴产业数据库论坛
软件开发公司历史英文介绍
大象数据库 连接
世界大学生网络安全竞赛
农安智能化网络技术服务
法规搜索软件开发
塔石485串口服务器设置
数据库是什么选择题
交换机与服务器间的连线
国外的教育文献数据库
现阶段软件开发的趋势
ibm存储服务器
网络安全设备硬件一套多少钱
数据库应用系统响应缓慢
国际网络安全大赛36 0
方舟生存进化官方服务器怎么开服
APP的软件开发计划书
软件开发变更需求赔偿
2018年网络安全竞赛题库
广州众创互联网科技有限公司
zabbix如何监控云服务器
睡眠监测软件开发
多活数据库怎么理解
交换机与服务器间的连线
学网络技术需要什么笔记本
军事网络安全由另行规定
架设服务器公司
软件开发课程 厦门