文章目录

  • 变量定义
  • 变量赋值
  • 使用.env文件
  • 使用docker-compose命令


变量定义

docker-compose.yml文件中定义MSA_EXTERNAL_DNS_NAME_OR_IP

identity-api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - ASPNETCORE_URLS=http://0.0.0.0:80
      - IdentityApiClient=http://${MSA_EXTERNAL_DNS_NAME_OR_IP}:5105
    ports:
      - "5105:80"

变量赋值

使用.env文件

MSA_EXTERNAL_DNS_NAME_OR_IP为变量名,localhost为具体的值

# docker-compose variable

MSA_EXTERNAL_DNS_NAME_OR_IP=localhost

在运行docker-compose命令时,如docker-compose.yml与.env文件在同一目录下。无需指定.env文件路径。如

docker-compose run

如果docker-compose.yml与.env文件不在同一目录下。需要使用–env-file指定文件路径。如

docker run --env-file ./config/.env

如果路径不正确会包如下错误

docker run --env-file ./config/.env
ERROR: Could‘t find env file: home/user/./config/.env

使用docker-compose命令

运行docker-compose时,将变量MSA_EXTERNAL_DNS_NAME_OR_IP设置为192.168.1.1

docker-compose run -e MSA_EXTERNAL_DNS_NAME_OR_IP=192.168.1.1