--- vssueId: 123 layout: LearningLayout description: Kubernetes教程_容器镜像在Kubernetes的Pod中使用容器镜像之前,您必须将其推送到一个镜像仓库(或者使用仓库中已经有的容器镜像)。在 Kubernetes 的 Pod 定义中定义容器时,必须指定容器所使用的镜像,容器中的image字段支持与docker命令一样的语法,包括私有镜像仓库和标签。 meta: - name: keywords content: Kubernetes 教程,K8S 教程,容器环境变量 --- # 容器的环境变量 > 参考文档: [Container Environment Variables](https://kubernetes.io/docs/concepts/containers/container-environment-variables/) Kubernetes为容器提供了一系列重要的资源: * 由镜像、一个或多个数据卷合并组成的文件系统 * 容器自身的信息 * 集群中其他重要对象的信息 ## 容器的信息 在容器中执行 `hostname` 命令或者在libc 中执行 [gethostname](http://man7.org/linux/man-pages/man2/gethostname.2.html) 函调用,获得的是容器所在 Pod 的名字。 Pod 的名字,以及 Pod 所在名称空间可以通过 [downward API](https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/) 注入到容器的环境变量里。 用户也可以为容器自定义环境变量,请参考 [使用ConfigMap配置您的应用程序](/learning/k8s-intermediate/config/config-map.html) ## 集群的信息 在容器创建时,集群中所有的 Service 的连接信息将以环境变量的形式注入到容器中。例如,已创建了一个名为 `Foo` 的 Service,此时再创建任何容器时,该容器将包含如下环境变量: ``` FOO_SERVICE_HOST= FOO_SERVICE_PORT= ``` 详细信息请参考 [Service-服务发现](/learning/k8s-intermediate/service/service-details.html#服务发现)