.netcore webapi 程序不发布、不编译直接生成docker镜像
1、创建webapi项目,此处选择不勾选解决方案和项目放置在同一目录

2、勾选启用docker,如果没有勾选,后面可以在项目中进行添加。操作系统选择liunx

3、生成的项目docker文件

4、配置本项目端口为8001,添加Port节点只是为了直接获取到项目端口,正确配置是使用*号代替ip和localhost' ,使用http://*:8101来监听才成功

4.1 如果配置成下面的localhost:8081

会报错:

如果网站配置成为Ip则会报错:网站的监听使用了ip,报错“Error -99 EADDRNOTAVAIL address not available”
5、项目代码很简单,只是为了返回本项目的端口号

6、编译项目,通过即可

7、清除解决方案,清理掉刚才编译的文件。此种生成镜像的方法只需要项目源代码

8、拷贝docker8101文件夹到liunx服务器

9、比如ubuntu的某个目录

10、将docke文件剪切到sln所在的目录,dockerfile必须在项目的根目录,否则会生成失败

11、使用以下命令生成docker镜像,-t后面是自定义镜像名字 ,-f 后面是dockerfile名字 最后面必须有空格加一个. 注意最后有个点,代表使用当前路径下的 Dockerfile 进行构建
构建命令必须是进入dockerfile所在的目录,dockerfile文件不能添加注释
root@iZ2ze4dqv19b84j5z3sueyZ:/home/dockerpublish/docker8101# docker build --no-cache -t core608101 -f Dockerfile .
没有空格和.会报错:

docker文件行内部不能添加注释,否则报错:

12、如果没有报错,就会生成docker镜像:

13、使用下面的命令启动一个容器
docker run -it -d -p 8101:8101 --name 8101 core608101
14、在宿主机上可以使用内部ip或者localhost访问刚才的容器
curl http://localhost:8101/WeatherForecast/GetServerPort



浙公网安备 33010602011771号