vs2022不安装docker desktop可以打包镜像吗 可以打包镜像吗 desktop docker vs2022 2022 不安装 vs
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 容器跑起来后不会退出,远程也可以正常访问了。