Задать вопрос
Ответы пользователя по тегу .NET
  • Небольшой сайт и админ панель на .NET?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    что за действия там пользователи буду делать - пока нет конкретики

    Без тз - результат хз.
    смотрю в сторону связки asp+bootstrap, при беглом поиске все шаблоны админок очень нагруженные

    Что мешает удалить лишние блоки?
    Может посоветуете что именно искать или вообще другой вариант реализации предложите?

    Если знаний на фронте минимум, то лучше либо готовое что то использовать, по типу Bootstrap, либо какую то CMS, не обязательно на .NET
    Ответ написан
    Комментировать
  • Как подключить бд к серверу в docker-compose?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Server=localhost

    Чей локалхост? У каждого контейнера он свой. Тогда какой указывать? Оптимально - по имени.
    https://docs.docker.com/compose/networking/
    Reference containers by name, not IP, whenever possible. Otherwise you’ll need to constantly update the IP address you use.

    Port=6002

    Чья туфля порт? Внутри докер-сети (Вы же указали: networks>postgres-network) контейнеры общаются по внутренним портам (рекомендуется).

    Если резюмировать, то будет примерно так (поправить местами при необходимости):

    "Postgres": "Server=localhost; Port=6002; Database=post; User ID=postgres; Password=passwd; Pooling=true"

    "Postgres": "Server=postgres_db; Port=5432; Database=post; User ID=postgres; Password=passwd; Pooling=true"

    docker-compose.yml:
    version: '3.8'
    
    networks:
      postgres-network:
        driver: bridge
    
    services:
      gchain.posts.api:
        image: gchain.posts.api
        build:
          context: .
          dockerfile: GChain.Posts.Api/Dockerfile
        ports:
          - "80:8080"
        networks:
          - postgres-network
        depends_on:
          - postgres_db
    
      postgres_db:
        container_name: postgres_post
        image: postgres:latest
        environment:
          POSTGRES_USER: ${POSTGRES_USER:-postgres}
          POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-passwd}
          POSTGRES_DB: post
        volumes:
          - postgres-data:/var/lib/postgresql/data
        ports:
          - "6002:5432"
        networks:
          - postgres-network
        restart: unless-stopped
    
    volumes:
      postgres-data:
    Ответ написан
    Комментировать
  • Почему получается подключить Core в Dockerfile?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я правильно понял задачу (использовать одну общую либу Core для нескольких проектов), то я бы использовал 2 варианта:
    - Создание NuGet пакета (если Core изменяется не часто), затем подключаем его в любом проекте.
    - Или docker multi-stage builds (если Core изменяется часто).

    Пример docker multi-stage builds с авто сборкой Core lib + Api proj (поправить пути и наименования директорий при необходимости):
    # Build Core lib
    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS core-build
    WORKDIR /src
    COPY ["../Core/Core.csproj", "./Core/"]
    RUN dotnet restore "./Core/Core.csproj"
    COPY ["../Core/", "./Core/"]
    RUN dotnet build "./Core/Core.csproj" -c Release -o /app/core
    
    # Build API proj
    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS api-build
    WORKDIR /src
    COPY ["Service/API/API.csproj", "./Service/API/"]
    RUN dotnet restore "./Service/API/API.csproj"
    COPY ["Service/API/", "./Service/API/"]
    COPY --from=core-build /app/core /lib
    RUN dotnet build "./Service/API/API.csproj" -c Release -o /app/service
    
    # Create final image
    FROM mcr.microsoft.com/dotnet/aspnet:8.0
    WORKDIR /app
    COPY --from=api-build /app/service .
    ENTRYPOINT ["dotnet", "API.dll"]
    Ответ написан
    1 комментарий