Docker部署ASP.NET Core项目

1、将发布后的项目上传到linux服务器指定目录中

2、编写Dockerfile文件

vim Dockerfile

FROM microsoft/dotnet:latest
WORKDIR /root
# Copy the app file to root 
COPY publish /root/
# Configure the listening port to 80 端口
EXPOSE 80/tcp
# Start the app 宿主名称 SMSService
ENTRYPOINT ["dotnet", "OutsideInter.dll"]
#设置容器的时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

 

 

3、构建镜像和容器

docker build -t dotnetapi .

在Dockerfile的目录下,执行 docker build -t dotnetapi . (注意包含 . )  ,构建出一个包含web程序所有内容的dotnetapi容器。

注意点:

1:docker build -t dotnetapi .    最后的 点  .   这个前面一定要有空格

2:Dockerfile  文件vim  修改是,注意 前面的首先字母是大写D,  Linux区分带小写

3:docker build -t dotnetapi . 该命令必须是跟  Dockerfile   文件同一级别的目录下执行操作

4:Dockerfile 文件里面有一个 COPY publish /root/    这个需要注意 publish 是文件夹的意思,就是需要安装的包名称,这个必须一致,否则报错。但是不是必须取名字叫publish。只要文件夹名称跟配置保持一致即可。

5:docker build -t dotnetapi .   中的 dotnetapi是镜像名字,可以取跟项目相关的名字

6:docker images查看 执行成功后的镜像

 

运行容器

docker run --name dotnetapicontains -d -p 5002:5002 dotnetapi

--name设置容器名,-d 后台运行  -p设置容器与宿主机的端口映射 dotnetapi为镜像名

这里需要注意 :

1:-name dotnetapicontains 中的dotnetapicontains 是容器名字,可以根据项目决定

2:第一个5002 是容器里面的端口号,  第二个5002 是对外的端口号,需要注意对外的端口号 需要跟 core项目里面的代码配置的端口号一致。在如图:

3:docker run --name dotnetapicontains -d -p 5002:5002 dotnetapi  中的dotnetapi是镜像名称。就是上面操作构建镜像时取的名称,保持一致。

操作图片如下:

这时候我们已经看到dotnetapicontains容器已经存在,5002端口也已经对外开放

4、运行测试

我们在浏览器中测试已经运行成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值