美文网首页微服务Demo
第1章 1.5 API 服务 (webapi) 部署到Docke

第1章 1.5 API 服务 (webapi) 部署到Docke

作者: elef | 来源:发表于2018-10-12 13:49 被阅读263次

回顾上一节的结尾,谈到git时有个例子是介绍从 github上获取源码,编译执行

git clone https://github.com/dockersample/webapi.git
cd webapi
dotnet restore
dotnet run

在谈如何在Docker容器中部署应用前先谈谈Docker是什么,我觉得理解为是一个linux虚拟机就好,但是它是linux下运行的子虚拟机,它必须有一个宿主机才行。为了能够更方便的打包和运行应用,Docker非常省资源,一台linux下可运行成千上百的Docker镜像,并且Docker的镜像是可以分层复用的,我们可以在其他人的镜像上构建自己特制的镜像。
制作镜像也很多方便,其中一种采用 Dockerfile文本编写的方式很流行。
再回到开始的时候的例子,现在要把在ubuntu上克隆源码,运行程序的过程复制到 Dockerfile脚本中

FROM microsoft/dotnet
MAINTAINER DAIJINMING@LIVE.CN
RUN apt-get update && apt-get install -y \
  git
RUN git clone -q https://github.com/dockersample/webapi.git
WORKDIR webapi/
RUN  dotnet restore
EXPOSE 5000

CMD ["dotnet","run"]

上面意思大概就是
1、从镜像库中加载 microsoft/dotnet ,这是微软发布的镜像,已经预制了dotnet 环境
2、写明维护人
3、安装git工具包
4、git下载源码 ,这是我之前上传的webapi项目
5、更改工作目录
6、恢复项目引用
7、对外开放端口 5000
8、运行服务

  • 构建镜像
    Dockerfile文件便于保存修改,但是还是需要docker build 命令才能生成我们需要的镜像
docker build -t abc/webapi .

构建后查看下,当前的镜像

root@dai-u:/home/daijinming/docker# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
abc/webapi          latest              bad700f3b5d1        26 minutes ago      1.81GB
microsoft/dotnet    latest              efa6f1f55357        2 days ago          1.73GB

运行镜像 abc/webapi

docker run -i -t -p 5000:5000  abc/webapi

相关文章

网友评论

    本文标题:第1章 1.5 API 服务 (webapi) 部署到Docke

    本文链接:https://www.haomeiwen.com/subject/avpbaftx.html