.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

 

posted @ 2023-04-21 17:55  无声袖箭  阅读(161)  评论(0)    收藏  举报