Проблема в том, что я не могу запустить приложение на localhost:4200. В моем браузере есть сообщение «err_connection_reset».
Однако контейнер angular работает.
[docker ps с запущенным контейнером angular][1]
[1 ]: https://i.sstatic.net/9nFfo32K.png
Архитектура в моей IDE и на моей платформе разработки:
- frontAndBackProjectsFolder
project_client
Dockerfile
- Dockerfile
[*]compose.yaml
Ниже информация о моей конфигурации:
compose.yaml:
Код: Выделить всё
services:
apache:
container_name: project_server
build: ./project_server/
environment:
APP_ENV: ${APP_ENV:-dev}
APP_SECRET: ${APP_SECRET:-xxxxxxxxxxx}
VERSION: ${VERSION:-1.0.0}
ports:
- "8000:80"
volumes:
- ./project_server/docker-resources/vhosts:/etc/apache2/sites-enabled
- ./project_server/:/var/www/html/project
restart: always
networks:
- dev
depends_on:
- postgres
postgres:
container_name: project_db
image: postgres:${POSTGRES_VERSION:-16}-alpine
environment:
POSTGRES_DB: ${POSTGRES_DB:-xxxx}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-xxxx}
POSTGRES_USER: ${POSTGRES_USER:-xxxxx}
POSTGRES_HOST: ${POSTGRES_HOST:-172.17.0.1}
volumes:
- database_data:/var/lib/postgresql/data:rw
ports:
- "5432:5432"
angular:
container_name: project_client
build: ./project_client/
restart: on-failure
command: "npm start"
depends_on:
- apache
networks:
- dev
volumes:
- ../project_client/:/var/www/html/project_client/
ports:
- "4200:4200"
networks:
dev:
volumes:
database_data:
Код: Выделить всё
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json package-lock.json /usr/src/app/
RUN npm install -g @angular/cli \
npm install
COPY . /usr/src/app
RUN npm run build
CMD ["ng", "serve", "--open", "--host", "0.0.0.0", "--port 4200"]
Код: Выделить всё
FROM ubuntu:22.04 as project_base
WORKDIR /var/www/html/project/
RUN apt update
RUN apt -y dist-upgrade
RUN mkdir -p /data
RUN chown -R www-data:www-data /data
RUN mkdir -p /data/docker-files
RUN chown -R www-data:www-data /data/docker-files
COPY ./docker-resources/install-requirements.sh /var/www/html/project/docker-resources/
RUN /bin/bash /var/www/html/project/docker-resources/install-requirements.sh
COPY ./docker-resources/apache2-foreground /usr/local/bin/apache2-foreground
RUN chmod +x /usr/local/bin/apache2-foreground
COPY ./docker-resources/docker-php-entrypoint /usr/local/bin/docker-php-entrypoint
RUN chmod +x /usr/local/bin/docker-php-entrypoint
COPY ./docker-resources/vhosts/project.conf /etc/apache2/sites-available/000-default.conf
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
COPY ./composer.* /var/www/html/project/
RUN composer install --no-scripts
COPY --chown=www-data:www-data ./ /var/www/html/project/
RUN cd /var/www/html/project && \
composer install --no-scripts --no-cache
EXPOSE 443 80
ENTRYPOINT ["docker-php-entrypoint"]
CMD ["apache2-foreground"]
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
RUN service apache2 restart
FROM project_base as project_dev
COPY ./docker-resources/vhosts/project.conf /etc/apache2/sites-available/000-default.conf
RUN /bin/bash /var/www/html/project/docker-resources/install-requirements-dev.sh
Большое спасибо!!
Подробнее здесь: https://stackoverflow.com/questions/786 ... and-docker
Мобильная версия