前言
visual studio2019是宇宙最强编译器,因此我们使用它
安装docker
直接在官网www.docker.com下载并注册账号

重启后自行右键右下角docker图标登录
检测安装是否成功cmd命令:docker -v
Docker version 19.03.5, build 633a0ea
(输出以上相似内容视为安装成功)
项目中设置
1.项目右键,添加Docker支持,选择Linux目标操作系统(因为新版Win10带Linux系统)


2.项目右键,添加容器业务流程协调程序支持

生成文件说明:
dockerignore 列出在生成上下文时要排除的文件和目录类型。
docker-compose.yml 用于分别定义通过 docker-compose build 和 docker-compose run 生成和运行的映像集合
docker compose.override.yml 可选文件,通过 Docker Compose 读取,包含服务的配置替代。
(Visual Studio 执行 docker-compose -f "docker-compose.yml" -f "docker-compose.override.yml" 可以合并这些文件)
运行项目
打开CMD,通过cd命令进入项目所在路径
打包命令:docker-compose build
……
……
Successfully built eadeb8a553b2
Successfully tagged xxx:latest
(以上信息代表发布完成,记下xxx:latest运行)
得到::eadeb8a553b2 和 xxx:latest
运行命令:docker run -it -p 52333:80 xxx:latest
-it 表示进入交互模式
-p 8080:5001 表示把容器里的5001端口映射给宿主的8080端口。
浏览器打开:http://localhost:52333 (代表运行成功,CMD中按Ctrl+C跳出运行)
发布项目
1.给镜像打上标签(相当于复制一份本地发布的文件 重命名为:“账号/原名称:版本”)
标签命令:docker tag ed159c1011fd zhanghao/xxx:1.0.0
2.登录到docker
登录命令:docker login
(输入账号,回车)注意,此处登录的账号,必须和上方“zhanghao"一致
(输入密码,回车)
3.推送到docker
推送命令:docker push zhanghao/xxx:1.0.0
验证方法:登录hub.docker.com 查看是否将xxx推送成功
常见坑
1.VS解决方案中新建类库项目时一定建在解决方案的文件夹下 (VS2019支持在解决方案右键新建类库,但VS允许类库位置自定义,我这默认是解决方案的上级目录,导致打包docker时就会报找不到类库错误
2.发布到服务器后,运行docker容器时,别用-p 80:80,需改成--net=host (表示容器网络使用本机网络),否则无法访问redis(如果用了的话)