在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
部署.net6项目到docker【1】新建.net6 mvc或webapi项目;【2】在mvc或webapi项目的根目录下创建Dockerfile文件,并设置为始终复制;Dockerfile文件内容为: #添加.net6基础镜像 FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base #容器工作目录 WORKDIR /app #指定项webapi或mvc站点的内部启动端口,默认是80 #ENV ASPNETCORE_URLS http://+:5001 #暴露docker容器端口 #EXPOSE 8001 #EXPOSE 443 #拷贝发布目录下的所有文件到容器的工作根目录 #COPY . . (这样写也可以) COPY ./ ./ # 如果用System.SqlClient.dll访问数据库,需要加这一句 RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf #容器入口点 ENTRYPOINT ["dotnet", "dotnet6Demo.web.dll"] 【3】发布mvc或webapi项目;【4】将发布后的mvc或webapi项目拷贝到centos服务器的某个文件夹,例如拷贝到【/wwwroot/myproject】文件夹;【5】安装docker安装方法参考:https://www.ogeek.net/article/232534.htm 【6】安装.net6镜像docker pull mcr.microsoft.com/dotnet/aspnet:6.0 【7】进入到centos服务器的 /wwwroot/myproject 目录,构建一个镜像,镜像名格式为【镜像名:版本号】,比如:dotnet6-demo:0.0.1构建镜像命令: cd /wwwroot/myproject docker build -t dotnet6-demo:0.0.1 . dotnet6-demo 表示构建的镜像名称,:0.0.1表示镜像版本号, 上面这条命令是用默认配置文件名 Dockerfile 构建的镜像,如果用自定义配置文件名构建镜像,需要加 -f 参数。 docker build -f Dockerfile02 -t dotnet6-demo:0.0.1 . 【8】创建自定义网络默认网络docker0,它不能用域名访问,所以要创建自定义网络。 docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet 参数说明:
mynet表示网络名 在docker 中直接 run 创建容器时不加自定义的网络,默认使用网络名为bridge的网络,这是docker0网络,容器之间无法使用容器名相互ping通,只能通过ip相互ping通。 我们自己定义的网络,容器之间是可以直接通过容器名相互ping通的。 查看mynet网络的详细信息: docker network inspect mynet 【9】创建并运行容器创建容器格式:
使用默认网络 docker0 创建容器( docker run -d --name my-dotnet6-demo01 -p 8001:80 --restart=always -v /www-appdata/dotnet6-demo/logs:/logs -v /www-appdata/dotnet6-demo/upload:/upload dotnet6-demo:0.0.1 使用自定义网络创建容器(多了个 --net 参数): docker run -d --name my-dotnet6-demo01 -p 8001:80 --restart=always -v /www-appdata/dotnet6-demo/logs:/logs -v /www-appdata/dotnet6-demo/upload:/upload --net mynet dotnet6-demo:0.0.1 参数说明:
查看正在运行的容器: docker ps 查看所有容器: docker ps -a 【10】访问容器访问方式:http://宿主机ip:端口号 http://192.168.1.200:8002 进入到容器【11】进入到容器docker exec -it my-dotnet6-demo01 /bin/bash 容器设置给已有容器设置开机自动启动 docker update --restart=always 容器名字 取消容器开机自动启动 docker update --restart=no 容器名字 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。 |
请发表评论