分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

.net core+Docker部署

发布时间:2023-09-06 02:26责任编辑:赖小花关键词:Docker

1.安装Docker CE

服务器Ubuntu 16

http://docs.docker-cn.com/engine/installation/linux/docker-ce/ubuntu/#%E5%AE%89%E8%A3%85-docker-ce

$ sudo apt-get remove docker docker-engine docker.io
$ sudo apt-get update
$ sudo apt-get install ????apt-transport-https ????ca-certificates ????curl ????software-properties-common
$ sudo add-apt-repository ???"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ ??$(lsb_release -cs) ???stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce

测试docker是否安装成功

 $ sudo docker run hello-world

2.新建.Net Core Mvc的项目

  • 使用vs或者命令行创建mvc项目
  • 添加Dockerfile
FROM dukecheng/aspnetcore:aspnetcore-runtime-2.2.0ARG sourceWORKDIR /appEXPOSE 80COPY ${source:-obj/Docker/publish} .ENTRYPOINT ["dotnet", "CoreApp.dll"]

如果你使用vs创建的项目那么需要上传到linux,命令行我建议直接在linux上执行

3.build你的项目

新建一个build.sh的文件(路径在CoreApp的目录下../CoreApp/build.sh 注意是有解决方案sln的文件夹)添加以下内容

workspace=`pwd`docker run --rm -v ~/.cache:/root/.cache -v ~/.config:/root/.config -v ~/.gnupg:/root/.gnupg -v ~/.local:/root/.local -v ~/.npm:/root/.npm -v `pwd`/CoreApp:/data digitallyseamless/nodejs-bower-grunt bash -c "bower install && npm install"docker run --rm -v ~/.dotnet:/root/.dotnet -v ~/.nuget:/root/.nuget ?-v ${workspace}:/src --workdir /src dukecheng/aspnetcore:aspnetcore-sdk-2.2.100 bash -c "dotnet restore ./CoreApp.sln && rm -rf ./CoreApp/CoreApp/obj/Docker/publish && dotnet publish ./CoreApp/CoreApp.csproj -c Release -o ./obj/Docker/publish"

执行build.sh

sh build.sh

4.生成docker镜像

docker build -t aspnetapp .

可以使用docker images 查看本地所有镜像

5.运行docker镜像

docker run -d -p 8080:80 --name coreapp aspnetapp

-d 是后台执行的意思  

-p 是端口映射 物理端口:docker容器端口

--name 是容器名字

aspnetapp 是镜像的名字

.net core+Docker部署

原文地址:https://www.cnblogs.com/shitong/p/10119636.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved