跨容器重用配置
reusing configs across containers
将配置传递并重新用于 docker 容器的行业惯例是什么,一些配置很常见,而另一些具有自定义值。例如。
注意产品容器有一个自定义配置参数。 My_CUSTOM_CONFIG
customer:
image: node
build:
context: ./Customer
dockerfile: Dockerfile
environment:
DATABASE_HOST: database
DATABASE_NAME: MyDB
DATABASE_USER: myusername
DATABASE_PASSWORD: mypassword
SERVICE_PORT: 80
depends_on:
- database
product:
image: node
container_name: product
restart: on-failure
build:
context: ./Product
dockerfile: Dockerfile
environment:
DATABASE_HOST: database
DATABASE_NAME: MyDB
DATABASE_USER: myusername
DATABASE_PASSWORD: mypassword
SERVICE_PORT: 80
My_CUSTOM_CONFIG: secret
depends_on:
- consul
- database
看看env_file
:
Add environment variables from a file. Can be a single value or a list.
把这个放进去,比方说,.env
:
DATABASE_HOST=database
DATABASE_NAME=MyDB
DATABASE_USER=myusername
DATABASE_PASSWORD=mypassword
SERVICE_PORT=80
然后在docker-compose.yml
中使用
customer:
image: node
build:
context: ./Customer
dockerfile: Dockerfile
env_file: .env
depends_on:
- database
product:
image: node
container_name: product
restart: on-failure
build:
context: ./Product
dockerfile: Dockerfile
env_file: .env
environment:
My_CUSTOM_CONFIG: secret
depends_on:
- consul
- database
将配置传递并重新用于 docker 容器的行业惯例是什么,一些配置很常见,而另一些具有自定义值。例如。
注意产品容器有一个自定义配置参数。 My_CUSTOM_CONFIG
customer:
image: node
build:
context: ./Customer
dockerfile: Dockerfile
environment:
DATABASE_HOST: database
DATABASE_NAME: MyDB
DATABASE_USER: myusername
DATABASE_PASSWORD: mypassword
SERVICE_PORT: 80
depends_on:
- database
product:
image: node
container_name: product
restart: on-failure
build:
context: ./Product
dockerfile: Dockerfile
environment:
DATABASE_HOST: database
DATABASE_NAME: MyDB
DATABASE_USER: myusername
DATABASE_PASSWORD: mypassword
SERVICE_PORT: 80
My_CUSTOM_CONFIG: secret
depends_on:
- consul
- database
看看env_file
:
Add environment variables from a file. Can be a single value or a list.
把这个放进去,比方说,.env
:
DATABASE_HOST=database
DATABASE_NAME=MyDB
DATABASE_USER=myusername
DATABASE_PASSWORD=mypassword
SERVICE_PORT=80
然后在docker-compose.yml
customer:
image: node
build:
context: ./Customer
dockerfile: Dockerfile
env_file: .env
depends_on:
- database
product:
image: node
container_name: product
restart: on-failure
build:
context: ./Product
dockerfile: Dockerfile
env_file: .env
environment:
My_CUSTOM_CONFIG: secret
depends_on:
- consul
- database