如何使用docker部署iis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用docker部署iis相关的知识,希望对你有一定的参考价值。

参考技术A 我们建立的是一个node.js的web服务应用。我们需要在当前目录下建立如下三个文件。1).gitignorenode_modules/*2)package.json"name":"docker-centos-hello","private":true,"version":"0.0.1","description":"Node.jsHelloworldapponCentOSusingdocker","author":"DanielGasienica","dependencies":"express":"3.2.4"3)server.jsvarexpress=require('express'),app=express(),redis=require('redis'),RedisStore=require('connect-redis')(express),server=require('http').createServer(app);app.configure(function()app.use(express.cookieParser('keyboard-cat'));app.use(express.session(store:newRedisStore(host:process.env.REDIS_HOST||'localhost',port:process.env.REDIS_PORT||6379,db:process.env.REDIS_DB||0),cookie:expires:false,maxAge:30*24*60*60*1000)););app.get('/',function(req,res)res.json(status:"ok"););varport=process.env.HTTP_PORT||3000;server.listen(port);console.log('Listeningonport'+port);配置Dockerfile我们需要通过Dockerfile来配置我们的docker镜像。FROMubuntu:14.04MAINTAINERzengjinlongRUNapt-getupdate#InstallRedisRUNapt-get-y- installpythonredis-serverRUNapt-get-y- installwget#InstallNodeRUNcd/opt&&\wgethttp://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz&&\tar-xzfnode-v0.10.33-linux-x64.tar.gz&&\mvnode-v0.10.33-linux-x64node&&\cd/usr/local/bin&&\ln-s/opt/node/bin/*.&&\rm-f/opt/node-v0.10.33-linux-x64.tar.gz#SettheworkingdirectoryWORKDIR/srcjCMD["/bin/bash"]有了Dockerfile之后,就可以通过dockerbuild来建立我们的镜像。dockerbuild-tminimicall/node_web:0.1.这里需要说明的是,你需要灵活的根据你的ubuntu真实的环境来变化中间的指令。例如,当我们第一次执行的时候,告诉我找不到pythonredis-server,我想应该是我的apt源太out了,所以,我加了RUNapt-getupdate.就解决了这个问题。当我wget的时候,说没有这个指令,那么我就得安装wget.而nodejs的地址,也是我去从nodejs的官网查找的。所以碰到问题,具体问题具体分析。查看我们建立的镜像。micall@micall-ThinkPad:~/docker/nodejs_web_app$sudodockerimagesREPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZEminimicall/node_web0.1730770dff17f6minutesago268.7MBcentoscentos670441cac1ed52weeksago215.8MBubuntu14.045506de2b643b4weeksago199.3MB启动我们的镜像:sudodockerrun-i-t--rm\>-p3000:3000\>-v`pwd`:/src\>minimicall/node_web:0.1这时候我们已经进入到了这个镜像启动的容器里面了。root@d80a2ed6b4c0:/src#执行下列命令root@d80a2ed6b4c0:/src#npminstall--quiet>/dev/nullnpmWARNengineformidable@1.0.13:wanted:"node":"/dev/nullroot@d80a2ed6b4c0:/src#lsDockerfileDockerfile~index.js~package.jsonserver.jssrcDockerfile.centosindex.jsnode_modulespackage.json~server.js~root@d80a2ed6b4c0:/src#nodemonserver.js22Nov14:37:31-[nodemon]v1.2.122Nov14:37:31-[nodemon]torestartatanytime,enter`rs`22Nov14:37:31-[nodemon]watching:*.*22Nov14:37:31-[nodemon]starting`nodeserver.js`Listeningonport3000这个时候用浏览器打开:http://localhost:3000/,会的到如下结果。"status":"ok"

如何将c#做好的asp.net网站部署到iis上

现在使用c#直接编译可以运行网站,显示为localhost/xxxx.aspx,此处localhost可以改为127.0.0.1,但不能改为真实的ip地址,防火墙已关。部署到IIS上也无法使用,是什么问题?

将ASP.NET网站部署到IIS的步骤:

    打开IIS管理器,在管理器中添加一个网站。


    填写网站名称,选择.NET版本(选择相应的版本,是4.0就选4.0,是4.5就选4.5),选择物理路径(物理路径即为你的ASP.NET网站存放的文件夹)。


    填写绑定信息,如果IP地址没有选择(即全部未分配,那就是这个电脑的所有IP地址都可以访问),如果选择了特定的IP地址就只能使用选择的IP进行访问。域名端口等信息保持不变然后确定。


    网站部署完成可以在IIS右侧点击浏览进行访问查看。


    注意:

    1、网站根目录不包含引用文件,一定要到项目的根目录。

    2、在编译运行时使用的是Visual Studio自带的一个虚拟IIS服务器,和IIS服务器还是有一定差别,具体部署情况要以IIS的提示为准。

参考技术A 发布~~
发布网站,记下目录,IIS新建站点,目录指向发布后的目录。追问

能加您威信具体了解下么

追答

百度下C#发布web,感觉你是改BUG懵掉了哈哈

追问

c#直接编译可以用,但发到IIS死活用不了,把杀毒软件先卸载了试试

追答

IIS下分配IP地址?或者再添加一个端口号看下
应该不是杀软的问题,就是IIS设置不妥

追问

嗯,现在确定是iis问题了。虚拟路径,ip号都尝试过了,还是不行。会不会是web带数据库的原因

追答

再给出三种可能的解决方法
1,host文件,(C:\WINDOWS\system32\drivers\etc)看下是不是有什么奇怪的修改
2,换个端口号,比如8081这样,看IP能访问不
3,发布后目录权限(everyone),该盘符也everyone加权限。
再不妥就重装IIS吧= =

追问

我自己的机器配好IIS后

我自己的机器配好IIS后,别的机器如果想访问,也需要安装IIS么?

追答

不需要啊,局域网 浏览器访问局域网IP;外网 最好是上传网站空间访问,自己弄花生壳解析很麻烦的。

追问

我也奇怪呢,我自己电脑上IIS配好了,但局域网还是访问不了,是发布策略是问题么

追答

局域网不能访问?第一反应防火墙问题,然后是IP配置有误,在就是目录权限。唉,有错误提示信息么

参考技术B 看是报的什么错了

以上是关于如何使用docker部署iis的主要内容,如果未能解决你的问题,请参考以下文章

用AntDeploy如何更新Agent

如何将c#做好的asp.net网站部署到iis上

如何使用docker部署web应用

如何使用 Docker 部署容器

如何调试通过 IIS 部署的 MVC5 库

如何使用docker部署springcloud???