# Dockerfiles API

> 原文：[https://docs.gitlab.com/ee/api/templates/dockerfiles.html](https://docs.gitlab.com/ee/api/templates/dockerfiles.html)

*   [List Dockerfile templates](#list-dockerfile-templates)
*   [Single Dockerfile template](#single-dockerfile-template)

# Dockerfiles API[](#dockerfiles-api "Permalink")

在 GitLab 中，有一个可用于 Dockerfile 的 API 端点. 有关 Dockerfile 的更多信息，请参阅[Docker 文档](https://s0docs0docker0com.icopy.site/engine/reference/builder/) .

## List Dockerfile templates[](#list-dockerfile-templates "Permalink")

获取所有 Dockerfile 模板.

```
GET /templates/dockerfiles 
```

```
curl https://gitlab.example.com/api/v4/templates/dockerfiles 
```

响应示例：

```
[  {  "key":  "Binary",  "name":  "Binary"  },  {  "key":  "Binary-alpine",  "name":  "Binary-alpine"  },  {  "key":  "Binary-scratch",  "name":  "Binary-scratch"  },  {  "key":  "Golang",  "name":  "Golang"  },  {  "key":  "Golang-alpine",  "name":  "Golang-alpine"  },  {  "key":  "Golang-scratch",  "name":  "Golang-scratch"  },  {  "key":  "HTTPd",  "name":  "HTTPd"  },  {  "key":  "Node",  "name":  "Node"  },  {  "key":  "Node-alpine",  "name":  "Node-alpine"  },  {  "key":  "OpenJDK",  "name":  "OpenJDK"  },  {  "key":  "OpenJDK-alpine",  "name":  "OpenJDK-alpine"  },  {  "key":  "PHP",  "name":  "PHP"  },  {  "key":  "Python",  "name":  "Python"  },  {  "key":  "Python-alpine",  "name":  "Python-alpine"  },  {  "key":  "Python2",  "name":  "Python2"  },  {  "key":  "Ruby",  "name":  "Ruby"  },  {  "key":  "Ruby-alpine",  "name":  "Ruby-alpine"  },  {  "key":  "Swift",  "name":  "Swift"  }  ] 
```

## Single Dockerfile template[](#single-dockerfile-template "Permalink")

获取单个 Dockerfile 模板.

```
GET /templates/dockerfiles/:key 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `key` | string | yes | Dockerfile 模板的关键 |

```
curl https://gitlab.example.com/api/v4/templates/dockerfiles/Binary 
```

响应示例：

```
{  "name":  "Binary",  "content":  "# This file is a template, and might need editing before it works on your project.\n# This Dockerfile installs a compiled binary into a bare system.\n# You must either commit your compiled binary into source control (not recommended)\n# or build the binary first as part of a CI/CD pipeline.\n\nFROM buildpack-deps:jessie\n\nWORKDIR /usr/local/bin\n\n# Change `app` to whatever your binary is called\nAdd app .\nCMD [\"./app\"]\n"  } 
```