小小程序员,大大发财梦

撒贝宁说:你读一篇文章疑问越多,就代表你需要成长的空间越大。

【个人学习】: NetCore程序部署到Docker

系统环境

    • 宿主机:Win7  
    • linux服务器: ubuntu.16.04-x64; 由于win7不支持Hyper-v,只能采用Docker Toolbox的方式使用Docker
    • 开发工具:Visual Studio 2019
    • sdk:netcore2.2
    • 远程管理工具:ScureGRT8.1
    • SFTP客户端:WinSCP
    • 容器:Docker19.03.4

安装docker

    • Docker ToolBox安装:https://docs.docker.com/toolbox/overview/ 安装过程很简单,保持默认选项,直接【next】即可。VirualBox和Git如果已经安装,也可以不选
    • 安装完成后,桌面上会多出3各图标,如下。其中VirtualBox提供了linux虚拟机的运行环境,Docker Quickstart Terminal用于快速介入linux虚拟机,提供命令行交互,Kitematic是docker GUI很少用到。
    • 问题*:如果装完之后打开Docker Quickstart Terminal提示找不到bash.exe,右键Docker Quickstart Terminal,属性,D:\Install\gitclient\bin\bash.exe --login -i "D:\Install\docker\Docker Toolbox\start.sh" ;bash.exe 指向git的bash所在目录
    • 启动:第一次运行Docker Quickstart Terminal时会进行Docker环境的初始化,会在VirtualBox中自动创建名字为【default】的linux虚拟机,默认情况下,启动程序会从GitHub上下载此文件的最新版,如果下载失败请参考(https://www.cnblogs.com/canger/p/9028723.html
    • 启动成功,如下:(default默认账号密码: docker/tcuser),其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip
    • 使用ScureCRT进行SSH登录Docker环境(其实就是远程访问default linux虚拟机)登陆成功后,如下:

NetCore docker下的配置  

    • 安装asp.net core镜像:sudo docker pull microsoft/dotnet
    • 查看镜像是否存在sudo docker images

发布NetCore项目

    • 使用VS发布netcore
    • docker新建发布文件夹:cd /home/docker/ ;在docker目录下新建publish :mkdir publish ;给publish目录授权chmod -r 777 /home/docker/publish
    • 将发布的文件通过WinSCP上传到docker 的publish目录下

使用docker部署

    • build镜像:在build的时候注意,命令最后一定要有个".", 并且镜像名称也不允许出现大写,如果想带上版本号的话 可以输入命令:
    • sudo docker  build  -t netcoredockertest:v1 .
    • sudo docker images 查看镜像
    • 运行build sudo docker run -d -t -p 5000:80 netcoredockertest #运行镜像
    • 查看正在运行的容器:sudo docker ps
    • 查看所有的容器信息:sudo docker ps -a
    • 测试结果:

   

 

posted @ 2019-11-14 17:47  敲代码使我秃了头  阅读(365)  评论(0编辑  收藏  举报