Docker 部署 .net Core 3.1 (Windows下)

2 篇文章 0 订阅

Docker 部署 .net Core 3.1

1. 安装Docker

链接: windows.
下载安装包后,点点点,安装就好了
参考大佬文章.
安装后打开出现问题可以参考

2. 安装后验证

打开cmd窗口,执行命令

docker version

在这里插入图片描述

常用命令介绍

列出所有镜像
docker images
删除镜像(删除容器后才能删除镜像)
docker rmi 镜像ID

由镜像生成的 容器
列出运行中的容器
docker ps
列出所有容器
docker ps -a
启动容器
docker start 容器ID
停止容器
docker stop 容器ID
删除容器(先停止才能删除)
docker rm 容器ID

2. 新增项目,配置端口,发布

我这边直接创建 ASP.NET Core Web API项目
配置端口如下图
在这里插入图片描述

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseUrls("http://*:5000").UseStartup<Startup>();
                });
    }

发布项目
在这里插入图片描述

在这里插入图片描述

3. 配置Dockerfile 文件

打开发布的文件夹

创建文件.dockerignore可以配置一些要忽略的文件/文件夹

创建文件Dockerfile(没有后缀)内容如下

#父镜像,或者说是运行环境
FROM mcr.microsoft.com/dotnet/aspnet:3.1
#设置容器工作目录
WORKDIR /DockerDemo
#把当前目录的所有文件copy到工作目录中
COPY . /DockerDemo
#暴露一个端口让外部可以访问 要同上面设置的端口
EXPOSE 5000
#容器入口命令,即容器启动时执行dotnet DockerDemo.dll命令
ENTRYPOINT ["dotnet", "DockerTest01.dll"]

5. 创建镜像

docker build -t 【名字】:【版本号】 【路径,.为当前】

打开cmd窗口,执行命令,生成镜像

docker build -t dockerdemo:v1.0 D:\publish_test

在这里插入图片描述

执行命令docker images列出所有镜像,可以看到
在这里插入图片描述

6. 生成&运行容器

执行命令

docker run -d -p 13425:5000 dockerdemo:v1.0

-d 表示后台运行
-p 13425:5000表示服务器的13425端口映射到容器的5000端口

在这里插入图片描述

本地打开浏览器,查看是否生效
http://localhost:13425/weatherforecast

参考自

https://blog.csdn.net/dupeng0811/article/details/89877561
https://www.cnblogs.com/songl/p/11128012.html
https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

Docker 部署 Redis

参考

  1. 下载镜像:docker pull redis
  2. 直接发布镜像到容器 docker run --name redis2 -p 6380:6380 -d redis
  3. 指定配置发布镜像到容器 docker run -v /d/redis.conf:/usr/local/etc/redis.conf --name redis3 -p 6380:6380 -d redis redis-server /usr/local/etc/redis.conf

-v /d/redis.conf:/usr/local/etc/redis.conf
本地文件/d/redis.conf 拷贝到容器内的/usr/local/etc/redis.conf
redis.conf下载地址https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf
bind的地址从127.0.0.1改为0.0.0.0,以便让其它地址可以连接
设置密码 requirepass 密码

  1. 运行Redis命令行管理工具 docker exec -it redis2 redis-cli 可选连接密码后面追加-a 密码
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET Core 3.1 项目用 Docker 打包并部署的步骤如下: 1. 在项目根目录下创建一个 Dockerfile 文件,文件内容如下: ``` FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env WORKDIR /app # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # Copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # Build runtime image FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 WORKDIR /app COPY --from=build-env /app/out . ENTRYPOINT ["dotnet", "YourProject.dll"] ``` 其中,第一行指定了基础镜像为 .NET Core SDK 3.1,第二行指定了工作目录为 /app。接下来,将项目的 csproj 文件复制到容器中,并执行 dotnet restore 命令安装项目依赖。然后,将整个项目复制到容器中,并执行 dotnet publish 命令将项目编译成可执行文件。最后,指定基础镜像为 .NET Core 3.1 运行时,将编译好的可执行文件复制到容器中,并指定入口点为 YourProject.dll。 2. 在项目根目录下执行以下命令,将项目打包成 Docker 镜像: ``` docker build -t your-image-name . ``` 其中,your-image-name 为自定义的镜像名称。 3. 将镜像上传到 Docker Hub 或私有镜像仓库: ``` docker push your-image-name ``` 4. 在目标服务器上安装 Docker,并从 Docker Hub 或私有镜像仓库中拉取镜像: ``` docker pull your-image-name ``` 5. 运行容器: ``` docker run -d -p 80:80 your-image-name ``` 其中,-d 表示容器在后台运行,-p 表示将容器的 80 端口映射到主机的 80 端口,your-image-name 为之前打包的镜像名称。 至此,.NET Core 3.1 项目已经成功打包并部署Docker 容器中了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值