
# Dockerfile参数在云容器实例中如何使用
#### 应用场景
定制镜像时，一般使用Dockerfile来完成。Dockerfile是一个文本文件，其内包含了多条的指令，每一条指令构建镜像的其中一层，因此每一条指令的内容，就是描述该层应该如何构建。
本章节将介绍Dockerfile文件的一些配置在云容器实例中的应用。
#### Dockerfile参数在CCI 2.0中的使用
下面通过一个例子来说明他们之间的关系，帮助您更好地了解和熟悉云容器实例。
```
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，这些参数在云容器实例中可以按如下yaml配置。
```
kind: Deployment
apiVersion: cci/v2
metadata:
  name: wordpress
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      labels:
        app: wordpress
    spec:
      containers:
      - name: wordpress
        image: wordpress:latest
        command: ["./entrypoint.sh"] #对应ENTRYPOINT
        args: ["start"] #对应CMD
        ports: #对应EXPOSE
        - containerPort: 80
        env: #对应ENV
        - name: VERSION
          value: "1.0"
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 500m
            memory: 1Gi
        volumeMounts: #对应VOLUME
        - name: cache-volume
          mountPath: /cache
      volumes:
      - name: cache-volume
        emptyDir:
          sizeLimit: 1Gi
          medium: Memory
      dnsPolicy: Default
```
