序言
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之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