翼度科技»论坛 编程开发 .net 查看内容

vs2022不安装docker desktop可以打包镜像吗

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
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容器跑起来后不会退出,远程也可以正常访问了。  
来源:https://www.cnblogs.com/star3/p/18375503
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具