【Deis文档】使用Deis之使用 Docker 镜像


注:本文翻译自Deis官方文档,无任何商业目的,转载请注明出处。

Deis 支持通过使用一个已经存在的 Docker 镜像来部署应用程序。这对于把 Deis 集成到基于 Docker 的 CI/CD pipelines 中非常有用。

提取准备应用程序

从 clone 一个示例应用程序开始:
$ git clone https://github.com/deis/example-go.git
$ cd example-go
$ git checkout docker

下一步使用你本地的 docker 客户端来构建镜像并 push 到 DockerHub
$ docker build -t <username>/example-go .
$ docker push <username>/example-go

Docker 镜像要求

为了部署 Docker 镜像,它们必须使以下的要求一致:
- Dockerfile 必须暴露(EXPOSE)仅仅一个端口
- 暴露的端口必须是一个 HTTP 服务,可以连接到一个 HTTP router
- 必须为正在运行的容器规定一个默认的 CMD

注意
Dockerfiles 暴露超过一个端口将在 issue 1156 讨论(hit)。

创建一个应用程序

使用 deis createController 上创建一个应用程序。
$ mkdir -p /tmp/example-go && cd /tmp/example-go
$ deis create
Creating application... done, created example-go

注意
deis 客户端使用当前目录的名字作为默认的应用名

部署应用程序

使用 deis pullDockerHub 或一个私有 registry 部署你的应用程序。
$ deis pull gabrtv/example-go:latest
Creating build... done, v2
$ curl -s http://example-go.local3.deisapp.com
Powered by Deis

因为你正在部署一个 Docker 镜像,在第一次部署时,cmd 进程类型是自动扩展到 1。
注意
很快就会支持 Docker registry 身份校验

定义进程类型

Docker 容器有默认的命令,通常由 CMD 指令规定。Deis 使用 cmd 进程类型引用这个默认命令。
当使用 Docke 镜像时,进程类似除了 cmd 其他是不支持的。

0 个评论

要回复文章请先登录注册