Windows Docker镜像构建之Oracle客户端
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,新版的Windows 2016已经支持原生Docker,现在也将部分服务往Docker上迁移进行测试。环境中有使用.net 3.5和.net 4.0以及有使用Oracle客户端,因此Web容器就需要安
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
给服务器喝茅台降温
公众号软件开发怎么收费
域名服务器如何登陆
徐州项目软件开发产品介绍
延庆区网络技术咨询热线
软件开发人 日单位
国道数据库技术路线图
舟山独立显卡服务器
哪个专业会学数据库
数据库数据展示功能
电子软件开发网
进销存软件开发计划书
软件开发技术经理技术栈
高新企业软件开发免征税吗
服务器MDT
延庆区技术软件开发一体化
mysql 数据库初始化
网络安全违章谈话记录内容
信息化网络技术推广哪家好
odbc 数据库的插入
江苏h3c机架式服务器多少钱
公安网络安全知识教育
公安局招聘网络安全渗透工程师
查看数据库ojdbc的版本
学校网络安全保卫部署会
时钟服务器和网关的ip一样
金融数据库csmar
云容器引擎对软件开发的作用
数据库约束图片
目前联盟部落平衡的服务器