Javascript Docker compose:如何设置要在脚本中使用的环境变量

Javascript Docker compose:如何设置要在脚本中使用的环境变量,javascript,docker,docker-compose,webdriver-io,Javascript,Docker,Docker Compose,Webdriver Io,我正在通过docker运行WebDrivero()测试: docker-compose run --rm webdriverio wdio 现在我需要用这个命令(ENV?)设置一个变量,它可以在测试文件中使用 describe('my awesome website', function () { it('should do some chai assertions', function () { browser.url(url) // <-- I need to set t

我正在通过docker运行WebDrivero()测试:

docker-compose run --rm webdriverio wdio
现在我需要用这个命令(ENV?)设置一个变量,它可以在测试文件中使用

describe('my awesome website', function () {
  it('should do some chai assertions', function () {
    browser.url(url) // <-- I need to set the variable (dev vs. prod)
    browser.getTitle().should.be.equal('Website title')
  })
})
我的docker-compose.yml如下所示:

version: '2'
services:
    webdriverio:
        image: huli/webdriverio:latest
        depends_on:
            - chrome
            - firefox
            - hub
        environment:
            - HUB_PORT_4444_TCP_ADDR=hub
            - HUB_PORT_4444_TCP_PORT=4444
        volumes:
            - /app:/app

    hub:
        image: selenium/hub
        ports:
            - 4444:4444

    firefox:
        image: selenium/node-firefox
        ports:
            - 5900
        environment:
            - HUB_PORT_4444_TCP_ADDR=hub
            - HUB_PORT_4444_TCP_PORT=4444
        depends_on:
            - hub

    chrome:
        image: selenium/node-chrome
        ports:
            - 5900
        environment:
            - HUB_PORT_4444_TCP_ADDR=hub
            - HUB_PORT_4444_TCP_PORT=4444
        depends_on:
            - hub

首先,需要将ENV变量设置为
docker compose.yml

services:
    webdriverio:
        image: huli/webdriverio:latest
        depends_on:
            - chrome
            - firefox
            - hub
        environment:
            - HUB_PORT_4444_TCP_ADDR=hub
            - HUB_PORT_4444_TCP_PORT=4444
            - APP_PROFILE=dev # <- here new variable
        volumes:
            - /app:/app
此外,在
Dockerfile
中,您可以将ENV变量设置为默认值:

ENV APP_PROFILE=prod

你用nodeJs吗?是的,我用。但我认为这与此无关。。。。
describe('my awesome website', function () {
  it('should do some chai assertions', function () {
    browser.url(process.env.APP_PROFILE)
    browser.getTitle().should.be.equal('Website title')
  })
})
ENV APP_PROFILE=prod