Open Closed

Dockerize Abp web application issue #4262


User avatar
0
yim.tim created

I try to dockerize Abp web application. However, I found the following issues. Please Advise.

The following is the docker-compose.yml file where dnf is the system name.

services:
  dnf.httpapi.host:
    image: ${DOCKER_REGISTRY-}dnfhttpapihost
    container_name: dnf.httpapi.host
    ports:
      - "44326:44326"
      - "4200:4200"
      - "30080:80"
      - "30443:443"
    build:
      context: .
      dockerfile: src/DNF.HttpApi.Host/Dockerfile
    depends_on:
      - dnf.db
    restart: on-failure

  dnf.db:
    image: "mcr.microsoft.com/mssql/server"
    container_name: dnf.db
    ports:
      - "34330:1433"
    restart: always
    environment:
      MSSQL_SA_PASSWORD: "123456"
      SA_PASSWORD: "123456"
      ACCEPT_EULA: "Y"

  dnf.authserver:
    image: ${DOCKER_REGISTRY-}dnfauthserver
    container_name: dnf.authserver
    ports:
      - "44324:44324"
    build:
      context: .
      dockerfile: src/DNF.AuthServer/Dockerfile
    depends_on:
      - dnf.db
    restart: on-failure

  redis:
    image: redis
    container_name: redis
    ports:
      - '6379:6379'

13 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    It is only used for the local development environment: https://docs.abp.io/en/abp/latest/Virtual-File-System#dealing-with-embedded-files-during-development

    You can try to start the container with another environment(Production etc.).

    Or you can add an option to appsettings

    {
       "IsOnDocker": "false",
    }
    
    if (hostingEnvironment.IsDevelopment() && !Convert.ToBoolean(configuration["IsOnDocker"]))
    {
        Configure<AbpVirtualFileSystemOptions>(options =>
        {
           ......
        });
    }
    
    services:
      dnf.httpapi.host:
        image: ${DOCKER_REGISTRY-}dnfhttpapihost
        container_name: dnf.httpapi.host
        ports:
          - "44326:44326"
          - "4200:4200"
          - "30080:80"
          - "30443:443"
        build:
          context: .
          dockerfile: src/DNF.HttpApi.Host/Dockerfile
        depends_on:
          - dnf.db
        restart: on-failure
        environment:
            IsOnDocker: "true"
    
    
  • User Avatar
    0
    yim.tim created

    Docker log show that abp need to login before start authentication server. Please advise. Thx.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    Could you share the full error log? thanks.

  • User Avatar
    0
    yim.tim created

    Please see the following docker console log.

  • User Avatar
    0
    yim.tim created

    I try to copy access.bin to /root but the following error display. Please kindly advise.

    The following is the Dockerfile of the auth server and VS2022 are run under debug mode. FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 COPY ["./docker-materials/access-token.bin", "/root/.abp/cli/"]

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    1

    Please make sure the AbpLicenseCode exists in your appsettings.json or appsettings.secrets.json file.

    You can create a new project to copy it.

    2

    You need to restore the NPM packages. run abp install-libs in the project folder to restore and publish the project again.

  • User Avatar
    0
    yim.tim created

    The license are existed.

    The following error are displayed when access the page.

  • User Avatar
    0
    yim.tim created

    I try to run the application without docker but the issue is same. It seems the issue no related to dockerize issue.

    I found my company network is https inspection environment. It mean all the https connection will change the SSL certificate to self-signed certificate. I execute the follow command by order but the issue still exists. Please kindly advise.

    1. npm set strict-ssl false
    2. yarn config set strict-ssl false -g
    3. abp install-libs
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    What's the content of wwwroot\libs after running the abp install-libs command?

  • User Avatar
    0
    yim.tim created

    I try to clean all the npm, clean yarn cache, delete node_package folder, delete yarn.lock file and re-run "abp install-libs".

    However, the following abp.ng.theme.lepton-x warning are found. Is this relate? warning "@volosoft/abp.ng.theme.lepton-x > @volo/abp.ng.lepton-x.core > @volo/ngx-lepton-x.core@1.0.3" has incorrect peer dependency "@angular/core@14.2.0".

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Is it possible to reproduce the problem in a new project template?

  • User Avatar
    0
    yim.tim created

    I will try to reproduce in new project later.

    Current project was fixed after I clean all the node_packe, del yarn.lock file and run "abp install-libs". I will try to dockerize continuously.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    OK

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on July 14, 2025, 11:57