vs2022开发的项目可以直接打包镜像到 linux主机。 idea 可以使用docker插件直接打包镜像到linux,我想vs2022也可以,于是开始摸索 官网只说支持docker desktop 本机打包,但是安装docker desktop 再加上安装虚拟机特性占用空间太大 ,能不能借助远程linux主机打包呢,答案是肯定的。 第一、下载docker-ce的win版本,由于docker官网被墙,可通过各大学镜像站下载 比如在这里下载
http://mirrors.zju.edu.cn/docker-ce/win/static/stable/x86_64/ 最新版是docker-27.1.2.zip 13-Aug-2024 13:46 38752050 解压后 有2个文件 docker和 dockerd, 一个是命令行工具,一个是docker引擎 如果不在本地运行虚拟机,不需要用到dockerd引擎。 加入window 环境变量 ,在PATH变量后追加 docker.exe所在路径。 第二、设置docker主机环境变量 在windows系统设置环境变量: DOCKER_HOST 设置为tcp://192.168.200.110:2375 在linux主机开启2375端口所有ip监听(默认情况下只支持本地连接127.0.0.1:2375)
vim /lib/systemd/system/docker.service
找到ExecStart行,修改为:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo ufw allow 2375/tcp
更多细节自行百度。
第三、项目增加docker支持 在项目右键菜单-添加 ,选择Docker支持…
选项如下,确定后会在项目目录生成Dockerfile文件(这个文件一般不需要修改)
第四、开始打包镜像
先测试docker 客户端能否连上linux服务器 docker ps 一下,看看能否显示出 正在运行的容器(没有容器运行至少不报错) 如果没有错误,就可以开始构建镜像了 首先 在powershell 或 cmd 命令下,构建总是失败,可能是window 路径 与linux 不一致 copy命令无法正常工作,vs2022 中选中 Dockerfile,右键点“生成docker 映像” 构建也有问题: 镜像能够打包成功,项目build阶段的文件没有拷贝到镜像里,导致entrypoint 为null,docker run 无法正常运行。 最后利用gitbash 命令构建可以成功 (git bash需要安装git客户端就会有下载地址:
https://git-scm.com/downloads) 构建命令:docker build -t webapi:dev . 命令执行完毕后,docker image ls 一下看看没有刚刚构建的镜像了。 docker run -d -p:8085:80 –name=webapi-test webapi:dev 容器跑起来后不会退出,远程也可以正常访问了。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容