【问题标题】:Hosting web application built with docker on Ubuntu 18.04在 Ubuntu 18.04 上托管使用 docker 构建的 Web 应用程序
【发布时间】:2021-10-09 15:08:52
【问题描述】:

我有一个使用 Codeigniter 构建的 Web 应用程序。我最近在本地主机上的应用程序中实现了 Docker。现在如何在服务器上部署修改后的应用程序和 docker 容器。

我在下面提供了我的 docker-compose 文件。

version: '3.3'
services:
myapp:
 image: docker.io/bitnami/codeigniter:3
 container_name: app-backend
ports:
 - '8000:8000'
volumes:
  - '.:/app'  
depends_on:
 - mariadb
mariadb:
 image: docker.io/bitnami/mariadb:10.3
 container_name: app-marriadb
volumes:
  - app_dbdata:/var/lib/mysql
environment:
  MYSQL_ROOT_PASSWORD: root
  MYSQL_DATABASE: app_db
ports:
 - '3307:3306'
environment:
 - ALLOW_EMPTY_PASSWORD=yes
volumes:
 app_dbdata:

【问题讨论】:

    标签: docker ubuntu codeigniter-3 lamp


    【解决方案1】:

    部署过程与我们在没有 docker 的情况下部署 Web 应用程序或网站时遵循的过程没有什么不同。只有以下更改是额外的,需要在服务器上完成。

    我改变了虚拟主机,如下图。

    <VirtualHost *:80>
        ServerAdmin admin@example.com
        ServerName domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www
        ErrorLog logs/docker.example.com_error.log
        CustomLog logs/docker.example.com_access.log combined
        ProxyPreserveHost On
        ProxyRequests off
        <Location />
                ProxyPass http://localhost:8000/
                ProxyPassReverse http://localhost:8000/
                Order allow,deny
                Allow from all
        </Location>
    </VirtualHost>
    

    然后对Apache做了如下改动

    $ sudo a2enmod proxy
    $ sudo a2enmod proxy_http
    $ systemctl restart apache2
    

    您应该能够使用域名从互联网访问您的网站或网络应用程序。也可以用letsencrypt添加https,步骤相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多