- 参考
Get Docker CE for Ubuntu
https://docs.docker.com/install/linux/docker-ce/ubuntu/ - 基础环境
Ubuntu 18
Docker
回顾上一节的结尾,谈到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
网友评论