Как дать имя контейнерам и изображениям в Docker compose? - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть простой ASP.NET Core Web с проектом SQL Server с именем PostOptimizer, созданный в Visual Studio 2017 и развернутый в док-контейнерах.Я хочу дать имя каждому изображению и контейнеру, созданному Docker-compose, потому что он автоматически присваивает такие имена: "dockercompose7669752967822022310_postoptimizer_1" и "dockercompose7669752967822022310_sql.data_1" * 10051006 * Я не мог понять, как это сделать, даже после прочтения ссылки на конфигурацию службы в Docker Compose, где я ожидал, что смогу поместить подраздел build наподобие name: "thecontainername" , но оно недоступно.Как это сделать?

Это содержимое моего docker-compose.yml файла:

version: '3.4'

services:
  sql.data:
    image: microsoft/mssql-server-linux:2017-latest
    environment:
      - SA_PASSWORD=Sql_Password1
      - ACCEPT_EULA=Y
    ports:
      - "5434:1433"

  postoptimizer:
    image: ${DOCKER_REGISTRY-}postoptimizer
    build:
      context: .
      dockerfile: PostOptimizer/Dockerfile
    depends_on:
      - sql.data

А это файл Dockerfile:

FROM build AS publish
RUN dotnet publish PostOptimizer.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "PostOptimizer.dll"]

1 Ответ

2 голосов
/ 03 апреля 2019

Вы можете использовать подраздел container_name, который будет называть контейнер с вашим именем.

version: '3.4'

services:
  sql.data:
    image: microsoft/mssql-server-linux:2017-latest
    environment:
      - SA_PASSWORD=Sql_Password1
      - ACCEPT_EULA=Y
    ports:
      - "5434:1433"
    container_name: sqldata

  postoptimizer:
    image: ${DOCKER_REGISTRY-}postoptimizer
    build:
      context: .
      dockerfile: PostOptimizer/Dockerfile
    depends_on:
      - sql.data
    container_name: postoptimizer
...