.Net6(4)MinimalAPI容器化体验

序言

Docker+Centos7部署

新建WebApi项目

项目引入了Dockerfile ,不启用docker容器调试

 Dockerfile始终复制

 对Dockerfire 进行修改

发布项目

D:\Net\Git\CommonProjectSolution\CommonProjectSolution\MinimalAPI.Net6.WebApi\bin\Release\net6.0\publish

 

https://localhost:5001/WeatherForecast

 改好后进行发布:发布完成后上传到服务器Dockerfire文件所在的目录中

使用命令运行该Dockerfire 文件创建容器

  删除:docker rm -f minimalapi

  命令:docker build -t  minimalapi .  

数分解:

  • -t ---指定镜像名称
  • 命令结尾处 ---表示build上下文为当前目录,默认情况下docker会使用在上下文的根目录下找到Dockerfile文件

  这个命令需要注意的是 镜像名称 不要使用大写 镜像名称后的 “点”不要忽略了

创建容器:

  命令:docker run  --name minimalapi -d -p 5000:80 minimalapi

参数说明

  • -d ,表示在后台以守护态(daemonized)形式运行容器

  • -p 外部端口与内部容器端口映射。

  • --name 指定容器的名称。当然可以不指定,默认会为我们创建

运行容器

sudo docker run minimalapi

docker start minimalapi

docker logs minimalapi

查看容器的详细信息

docker inspect minimalapi

查看结果:docker ps -a

docker images

docker ps -a

http://192.168.229.133:5000/weatherforecast

curl http://localhost:5000

这里如果docker run失败后再次运行会提示名称已存在,可以使用以下命令来删除容器

查看防火墙

firewall-cmd --state

sudo systemctl start firewalld

sudo systemctl stop firewalld

使用docker搭建web服务器,提示无法访问此网站,怎么解决

1、查看端口是否加入seLinux允许的http端口

semanage port -l | grep http_port_t

2、添加端口

semanage port -a -t http_port_t  -p tcp 8090

防火墙关了没
systemctl stop firewalld.service 关闭运行的防火墙
使用命令systemctl status firewalld.service 查看防火墙状态
disavtive(dead)的字样,说明防火墙已经关闭
systemctl disable firewalld.service,开机禁止防火墙服务器
systemctl enable firewalld.service,开机启动防火墙服务器

资料

无法从浏览器访问Docker应用程序

Docker之WARNING: IPv4 forwarding is disabled. Networking will not work.

https://blog.csdn.net/wo4641771/article/details/106312065/

https://www.cnblogs.com/kwzblog/p/13533907.html

docker logs

原文地址:https://www.cnblogs.com/cnki/p/15707101.html