官术网_书友最值得收藏!

Managing application configuration

The goal of packaging applications in Docker images is to use the same image in every environment. You don't build separate images for test and production, because that would make them separate apps and there could be inconsistencies between them. You should deploy your production app from the exact same Docker image that was tested by the users, which is the exact same image generated by the build process and used for all of your automated integration tests.

Of course, some things need to change between environments – connection strings for the database, logging level, and feature switches. This is application configuration, and in the Docker world you build your application image with a default set of configuration, typically for the development environment.  At runtime you inject the correct configuration for the current environment into the container, and that overwrites the default configuration.

There are different approaches to injecting this configuration. In this chapter I'll show you how to use volume mounts and environment variables. In production, you'll be running a cluster of machines running Docker, and you can store configuration data in the cluster's secure database, as Docker config objects or Docker secrets. I'll cover this in Chapter 7, Orchestrating Distributed Solutions with Docker Swarm.

主站蜘蛛池模板: 铜山县| 崇州市| 镇原县| 嘉荫县| 克东县| 台山市| 西华县| 类乌齐县| 双牌县| 蕲春县| 安远县| 林州市| 黄山市| 恭城| 耒阳市| 玛纳斯县| 揭东县| 鸡东县| 邓州市| 堆龙德庆县| 广宁县| 通州区| 宝丰县| 都兰县| 财经| 阜城县| 利川市| 康乐县| 海晏县| 铁力市| 元谋县| 新营市| 西丰县| 克东县| 宣化县| 文化| 建水县| 于都县| 甘南县| 云林县| 沁阳市|