我在端口 8000:80 上的 apache+docker 上有 django 应用程序 运行ning,需要 运行 另一个应用程序与另一个端口但不工作

I have django application running on apache+docker on port 8000:80,need to run another application with another port but not working

我有 Django 应用程序 运行 apache+docker 在 ubuntu 服务器上有 8000:80 端口。现在我有了另一个 Django 应用程序。

我想 运行 使用不同端口 8006 或任何其他端口的 apache+docker 应用程序。我认为我们不能为同一个端口绑定两个应用程序 80.Correct 我如果我错了,欢迎提出建议。

我可以构建 docker 容器并且服务已启动,但无法通过浏览器和请求访问我。那么,有什么方法可以做到并且能够在浏览器中访问请建议

这是我的docker-compose.yml

version: '3.1'
services:
  test-app:
    image: test-app
    build:
      context: ./app/
    ports:
      - "8006:8006"
  #  networks:
  #    - GST
    container_name: test-app
    environment:
      - TZ=Asia/Kolkata
    restart: on-failure
    volumes:
      - /storage/req_resp_files:/var/www/html/GSTDP_Develop/req_resp_files
      - /storage/gst_logs:/var/www/html/GSTDP_Develop/logs

这是我的 Dockerfile

FROM httpd:latest

RUN apt-get update
RUN apt-get install -y apt-utils vim curl apache2 apache2-utils
RUN apt-get -y install python3 libapache2-mod-wsgi-py3
RUN ln /usr/bin/python3 /usr/bin/python
RUN apt-get -y install python3-pip
RUN ln /usr/bin/pip3 /usr/bin/pip
RUN pip install --upgrade pip
RUN pip install django ptvsd
ADD ./demo_site.conf /etc/apache2/sites-available/000-default.conf
#ADD ./httpd-ssl.conf /usr/local/apache2/conf/extra/httpd-ssl.conf
#ADD ./server.key /usr/local/apache2/conf/server.key
#ADD ./server.crt /usr/local/apache2/conf/server.crt
#ADD ./gd_bundle-g2-g1.crt /usr/local/apache2/conf/gd_bundle-g2-g1.crt
ADD ./GSTDP_Develop /var/www/html/GSTDP_Develop
RUN chown -R www-data. /var/www/html/GSTDP_Develop
RUN chown -R www-data. /usr/local/apache2
RUN a2enmod wsgi
#RUN a2enmod ssl
#RUN a2ensite default-ssl
RUN cd /var/www/html/GSTDP_Develop/
RUN pip install -r /var/www/html/GSTDP_Develop/requirements.txt
RUN python /var/www/html/GSTDP_Develop/manage.py collectstatic --noinput
#RUN cd /var/www/html/
#RUN tar -xvzf GSTDP_Develop.tar.gz
EXPOSE 8006
#EXPOSE 443
CMD ["apache2ctl", "-D", "FOREGROUND"]

演示-site.conf文件:

WSGIPythonPath /var/www/html/GSTDP_Develop

Listen 8006
<VirtualHost *:8006>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/GSTDP_Develop
        WSGIApplicationGroup %{GLOBAL}
        Alias /static /var/www/html/GSTDP_Develop/src/static
                <Directory /var/www/html/GSTDP_Develop/static>
                Require all granted
        </Directory>

                <Directory /var/www/html/GSTDP_Develop/static>
                Require all granted
                </Directory>

                WSGIScriptAlias / /var/www/html/GSTDP_Develop/src/wsgi.py

                <Directory /var/www/html/GSTDP_Develop/src>
                <Files wsgi.py>
                Require all granted
                </Files>
        </Directory>

                WSGIDaemonProcess GSTDP_Develop processes=2 threads=6 display-name=gst-dna

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

       
</VirtualHost>

编辑 1:

它在终端中的样子 407129a206fd 5ba "apache2ctl -D FOREG…" About a minute ago Up About a minute 0.0.0.0:8006->80006/tcp, :::8006->8006/tcp sharp_keldysh 6ac03b56d3ab gst-app "apache2ctl -D FOREG…" 2 weeks ago Up 3 hours 0.0.0.0:8000->80/tcp, :::8000->80/tcp gst-app

但无法从浏览器访问 url。

提前致谢..

对不起,我不好需要激活那个端口。相应的端口已启用并且正在运行。以及关于 apache 配置的小改动。改变了

Listen 8006
<VirtualHost *:8006>

Listen 80
<VirtualHost *:80>

因为它的 apache http 请求默认侦听 80 端口