Как передать переменную в docker-compose и dockerfile - PullRequest
0 голосов
/ 12 января 2019

Я использую docker-compose:

version: "3"

services:
   app:
        build:
            context: .
            dockerfile: Dockerfile

И Dockerfile:

FROM microsoft/dotnet:2.2-sdk

WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# copy and build everything else
COPY . ./
RUN dotnet publish -c Release -o out

ENTRYPOINT ["dotnet", "out/testapp.dll"]

И мой вопрос: как передать param в docker-compose и dockerfile с помощью команды docker-compose up?

Решение:

Я использую этот код "variable = value docker-compose up", чтобы отправить переменную в docker-compose, добавив этот код в файл docker-compose

  environment:
        - variable=${variable}

И использовать точку входа в этом формате в Dockerfile:

ENTRYPOINT dotnet "testapp.dll" "$variable"

1 Ответ

0 голосов
/ 12 января 2019

Похоже, вы хотите использовать переменные окружения . Объявите переменную среды (например, DLL здесь), например:

version: "3"

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      - DLL=out/testapp.dll

А затем используйте его в Dockerfile в качестве переменной среды (последняя строка):

FROM microsoft/dotnet:2.2-sdk

WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# copy and build everything else
COPY . ./
RUN dotnet publish -c Release -o out

ENTRYPOINT dotnet "$DLL"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...