
# Dockerfile参数在云容器实例中如何使用
#### 应用场景
如果您了解容器引擎的使用，明白定制镜像时，一般使用Dockerfile来完成。Dockerfile是一个文本文件，其内包含了一条条的指令，每一条指令构建镜像的其中一层，因此每一条指令的内容，就是描述该层应该如何构建。
本章节将介绍Dockerfile文件的一些配置如何对应到云容器实例中去使用。
#### Dockerfile参数在CCI中的使用
下面通过一个例子来说明它们之间的关系，这样您就可以更好地了解和熟悉云容器实例。
```
FROM ubuntu:16.04
ENV VERSION 1.0
VOLUME /var/lib/app
EXPOSE 80
ENTRYPOINT ["./entrypoint.sh"]
CMD ["start"]
```
上面是一个Dockerfile文件，包含一些常见的参数ENV、VOLUME、EXPOSE、ENTRYPOINT、CMD，这些参数在云容器实例中可以按如下方法配置。
- ENV为环境变量，在云容器实例中创建负载的时候，可以在高级配置中设置，"ENV VERSION 1.0"指令在CCI中的使用，如下所示。 ![](https://support.huaweicloud.com/bestpractice-cci/zh-cn_image_0268080632.png "点击放大")
  
- VOLUME为定义容器卷，通常配合**docker run -v 宿主机路径:容器卷路径** 一起使用。
  云容器实例中支持将云硬盘挂载到容器中，只需在创建负载时添加云硬盘卷，并配置大小、挂载路径（也就是容器卷的路径）即可。
  ![](https://support.huaweicloud.com/bestpractice-cci/zh-cn_image_0268081249.png "点击放大")
  
- ENTRYPOINT与CMD对应云容器实例中高级配置的启动命令，详细内容请参见[容器启动命令](https://support.huaweicloud.com/usermanual-cci/cci_01_0050.html)。
  ![](https://support.huaweicloud.com/bestpractice-cci/zh-cn_image_0268081506.png "点击放大")
  
- EXPOSE即暴露某个端口，通常在启动容器时配合**docker run -p \<宿主端口\>:\<容器端口\>** 一起使用，云容器实例中容器如果要对外暴露端口，只需在创建负载的时候配置**负载访问端口:容器端口** 的映射，这样就可以通过**负载请求域名:负载访问端口** 访问到容器。
  ![](https://support.huaweicloud.com/bestpractice-cci/zh-cn_image_0268081567.png "点击放大")
  
 
