返回目录
上一篇文章主要介绍了Dockerfile中每个参数的含义以及项目文件中这些内容的含义。 大叔觉得官方和网络上的其他文章都很模糊,很难让大家理解,所以我又写了一篇新的白话文章,希望大家能帮上点忙。 DotNetCore跨平台~Dockerfile解释>;
在本文中,您将迁移主要由windows dot net new API生成的项目,将其另存为镜像,然后运行该镜像以生成容器。 容器向外部开放5000个端口后,大家可以从5000开始访问。 简而言之,有点漏洞。
Docerfile和DotnetCore引入的流程项目必须在windows上恢复和生成。 dotnet restore和dotent publish在docker中使用了生成的内容。 例如,目录与项目下的obj/docker/publish您的Dockerfile和obj目录处于同一级别,docker build '和您的项目根目录路径' docker run-it '
2我们使用的是docker生成的东西。 例如,目录是项目下的obj/docker/publish
3您的Dockerfile与obj目录处于同一级别
Dockerfile内容如下
正在基于microsoft/dotnet构建我们的镜像。 有800多万亿。 docker容器的外部暴露5000端口EXPOSE 5000#输入参数ARG source #输入参数,而不是300兆以上的from docker.io/Microsoft/dotnetmaintainerlind # 将当前目录下的执着大象/Release/PublishOutput用作分发目录copy $ { source :-obj/docker/publish }./hello MVC #并使用内容此命令ENTRYPOINT ['dotnet ',' hellomvc.dll'] 4使用docker build '添加项目根目录路径'
此命令在linux平台上运行。 接下来看看我们项目的路径。 可以使用xft、xshell等工具以方法操作。 使用xft将整个项目复制到linux下的/root/project目录
在xshell中连接到您的linux主机,然后输入以下命令生成新镜像
要为source输入参数指定新值,请使用以下语句
# docker build '/root/project/core MVC/'-- build-arg source='/root/project/core MVC /讲究的大象/release/publiblivc
如果遇到找不到上述目录的问题,请将目录设备转换为: objDockerpublish
5使用docker run-it-p 500033605000 imageid运行容器,同时外部监听5000端口
生成镜像后,使用docker run启动容器!
启动后,将侦听端口5000。 IP地址是linux主机的,我们可以在外面通过linux ip:5000访问
如果您想将8000端口暴露到外部,可以像这样写docker run-it-p 8000336050007 c8 d 43 Fe 67 f 9。 这样,同一站点将在两个容器中共同运行,或在一个站点上增加对“负载”的支持。 这里是否想起了什么,这样会发生负载平衡,环境的部署变得简单
此命令可以重命名你的镜像
docker tag7c8 d 43 Fe 67 F9 hello API :1.0
当然,如果Alibaba云(AlibabaCloud )有自己的镜像,可以将该镜像重命名为Alibaba云(AlibabaCloud )奖项,并将此本地镜像推送到云中,以便在其他服务器上使用
我希望这篇文章能帮助那些刚开始学docker的学生。 大家有问题的话请直接联系我。
docker是一项新技术,它将为未来再点燃一次吧!
镜像,到处运行!
返回目录