dockerfile文件内容为:
#添加.net6基础镜像from mcr.microsoft.com/dotnet/aspnet:6.0 as ba#容器工作目录workdir /app#指定项webapi或mvc站点的内部启动端口,默认是80#env aspnetcore_urls http://+:5001#暴露docker容器端口#expo 8001#expo 443#拷贝发布目录下的所有文件到容器的工作根目录#copy . . (这样写也可以)copy ./ ./# 如果用system.sqlclient.dll访问数据库,需要加这一句run d -i 's/tlsv1.2/tlsv1.0/g' /etc/ssl/openssl.cnf#容器入口点entrypoint ["dotnet", "dotnet6demo.web.dll"]
安装方法参考:
docker pull mcr.microsoft.com/dotnet/aspnet:6.0
构建镜像命令:
cd /wwwroot/myprojectdocker build -t dotnet6-demo:0.0.1 .
dotnet6-demo 表示构建的镜像名称,:0.0.1表示镜像版本号,注意镜像名后面有个空格 + 英文点号,表示构建当前路径下的文件不稂不莠
。
上面这条命令是用默认配置文件名 dockerfile 构建的镜像,如果用自定义配置文件名构建镜像,需要加 -f 参数。
docker build -f dockerfile02 -t dotnet6-demo:0.0.1 .
默认网络docker0,它不能用域名访问,所以要创建自定义网络。
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
参数说明:
–driver bridge #表示桥接模式–subnet 192.168.0.0/16 #16表示最多支持65535个ip,可以分配192.168.0.2到192.168.255.255,如果没有指定–subnet参数默认网段为172.17.0.0/16,默认网关为172.17.0.1;–subnet 192.168.0.0/24 #24表示最多支持254个ip,可以分配192.168..0明妃.2到192.168.0.255–gateway #表示docker容器的网关mynet表示网络名
在docker 中直接 run 创建容器时不加自定义的网络中专是专科吗,默认使用网络名为bridge的网络,这是docker0网络,容器之间无法使用容器名相互ping通,只能通过ip相互ping通。
我们自己定义的网络,容器之间是可以直接通过容器名相互ping通的。
查看mynet网络的详细信息:
docker network inspect mynet
创建容器格式:
docker run -d –name 容器名 -p 外部端口号:docker容器端口号 –restart=always -v /宿主机目录 : /容器目录 镜像名
使用默认网络 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
参数说明:
-d #后台运行-p 8001:80 #缩主机端口号:docker端口号-v #数据卷路径,格式:(-v /宿主机目录:容器目录)或者(-v /容器目录),可以带多个 -v 参数。–restart=always #dokcer重新启动时也将容器自动启动–net mynet #指定网络名查看正在运行的容器:
docker ps
查看所有容器:
docker ps -a
访问方式:http://宿主机ip:端口号
http://192.168.1.200:8002
docker exec -it my-dotnet6-demo01 /bin/bash
给已有容器设置开机自动启动
docker update --restart=always 容器名字
取消容器开机自动启动
docker update --restart=no 容器名字
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 04:29:36,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/57c54a596fc9aa3a6451621aa0c80e35.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:部署.Net6项目到docker.doc
本文 PDF 下载地址:部署.Net6项目到docker.pdf
留言与评论(共有 0 条评论) |