Docker 部署dotnetcore

安装docker

系统还是之前centos 7.1

https://www.docker.com/products/docker#/linux

 yum update

 创建源:

/etc/yum.repos.d/docker.repo

tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

 yum安装

yum install docker-enginesystemctl enable docker.service
systemctl start docker

 测试

 docker run --rm hello-world

 会显示Hello from Docker!

部署程序

案例还是用 之前的 dotnetcore+angular2 的示例项目 ,详情参考:

拷贝到另一个文件夹

http://km.oa.com/articles/show/303950

cp acore/*  dockerapp

 (1)创建Dockerfile


备注: 这里有两个坑

1.因为程序是基于dotnet1.0.1 所以必须用 microsoft/dotnet:1.0.1-core;我开始创建的时候 用的1.0.0,当容器运行的时候 就变成Exit(131), 这时候用  docker logs [container]  可以显示容器运行的时候输出的日志. 然后修正dockerfile 基于image就ok了;

2.镜像里面监听0.0.0.0  , 不然在curl 外部访问出现错误:Connection reset by peer 

DockerFile 如下:

FROM microsoft/dotnet:1.0.1-core
RUN mkdir /app/COPY . /app/WORKDIR ./app
EXPOSE 4000#CMD "/bin/bash"CMD ["dotnet", "acore.dll", "--server.urls", "http://0.0.0.0:4000"]


(2)构建Image 

docker build -t dockerapp:1.0 .

 (不要漏了后面一个点)

构建完成后就可以用 docker image 查看了


(3) 运行容器

docker run --name dockerapp -d -p 8000:4000 dockerapp:1.0

 指定容器名称,指定端口资源映射, 还可以指定磁盘映射

使用 docker ps -a 查看运行的容器


显示在运行中

访问一下 我们部署的dotnetcore 程序



(4)配置Nginx


这次映射的docker端口

重启nginx  

service nginx restart

(5)成果

外部浏览器访问结果: (该页面我特别在上面加一个div区分旧项目)



原文地址: https://www.qcloud.com/community/article/240


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,关于使用Docker部署.NET Core,可以按照以下步骤进行操作: 1. 安装Docker:首先需要在您的计算机上安装Docker。可以在Docker官网上下载并安装Docker Desktop。 2. 创建.NET Core应用程序:使用.NET Core命令行工具创建.NET Core应用程序,可以使用以下命令在终端中创建一个简单的.NET Core应用程序: ``` dotnet new console -n myapp ``` 3. 创建Dockerfile:在应用程序根目录下创建一个名为Dockerfile的文件,并添加以下内容: ``` FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env WORKDIR /app COPY . ./ RUN dotnet restore RUN dotnet publish -c Release -o out FROM mcr.microsoft.com/dotnet/aspnet:5.0 WORKDIR /app COPY --from=build-env /app/out . ENTRYPOINT ["dotnet", "myapp.dll"] ``` 其中,FROM指令指定了使用的.NET Core镜像版本,WORKDIR指令设置了工作目录,COPY指令将应用程序复制到Docker容器中,RUN指令运行了dotnet restore和dotnet publish命令,将应用程序编译和打包成发布版本,ENTRYPOINT指令指定了容器启动后要执行的命令。 4. 构建Docker镜像:在应用程序根目录下,运行以下命令构建Docker镜像: ``` docker build -t myapp . ``` 其中,-t指定了镜像名称和标签。 5. 运行Docker容器:运行以下命令启动Docker容器: ``` docker run -it --rm -p 8080:80 myapp ``` 其中,-it参数指定了交互式运行,并删除容器退出时的数据,-p参数指定了容器内部的80端口映射到宿主机的8080端口,myapp指定了要启动的镜像名称和标签。 希望这些步骤可以帮助您使用Docker部署.NET Core应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值