在 Ubuntu 18.04 上托管使用 docker 构建的 Web 应用程序

     2023-02-25     123

关键词:

【中文标题】在 Ubuntu 18.04 上托管使用 docker 构建的 Web 应用程序【英文标题】:Hosting web application built with docker on Ubuntu 18.04 【发布时间】: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:

【问题讨论】:

【参考方案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,步骤相同。

【讨论】:

Ubuntu 18.04 上的 FLTK:在 Dock 上设置图标的弹出文本

】Ubuntu18.04上的FLTK:在Dock上设置图标的弹出文本【英文标题】:FLTKonUbuntu18.04:Seticon\'spopuptextondock【发布时间】:2019-11-0821:21:00【问题描述】:我在Ubuntu18.04上使用FLTK1.3.4。我的项目使用FLTK开发了一个带有GUI的桌面应用程序。当... 查看详情

Ubuntu 上托管的 LAMP 应用程序的 AWS SSL 证书

】Ubuntu上托管的LAMP应用程序的AWSSSL证书【英文标题】:AWSSSLCertificateforLAMPApplicationHostedonUbuntu【发布时间】:2016-11-2003:14:26【问题描述】:我是AWS新手,在Ubuntu(AWS-免费套餐)上托管了一个PHP应用程序。我已经使用证书管理器获... 查看详情

如何在 Ubuntu 上托管/发布我的 .Net Core WebAPI?

】如何在Ubuntu上托管/发布我的.NetCoreWebAPI?【英文标题】:HowdoIhost/publishmy.NetCoreWebAPIonUbuntu?【发布时间】:2016-06-2705:09:18【问题描述】:我正在学习.NetCore。我使用ASP.NetMVC开发了WebApplication,因为它可以在本地IIS上安装和运行。... 查看详情

Neo4j:Ubuntu 在 Microsoft Azure 上托管端点保护

】Neo4j:Ubuntu在MicrosoftAzure上托管端点保护【英文标题】:Neo4j:UbuntuhostedendpointprotectiononMicrosoftAzure【发布时间】:2014-11-1803:32:52【问题描述】:我正在尝试在AzureUbuntuVM上托管neo4j服务器并打开端点以启用从我的机器进行访问,以... 查看详情

在 DigitalOcean ubuntu 服务器上托管闪亮的应用程序时出错

】在DigitalOceanubuntu服务器上托管闪亮的应用程序时出错【英文标题】:ErrorwhenhostingshinyapponDigitalOceanubuntuserver【发布时间】:2021-03-0511:19:09【问题描述】:我已经构建了一个闪亮的应用程序,过去我已经成功地部署到了shinyapps.io... 查看详情

如何使用 Firebase 在 Web 上托管 Flutter?它的效果如何?

】如何使用Firebase在Web上托管Flutter?它的效果如何?【英文标题】:HowtohostFlutteronthewebusingFirebase?Andhowwelldoesitwork?【发布时间】:2022-01-0614:13:24【问题描述】:如何使用Firebase在网络上托管Flutter,它的效果如何?我以前从未这样... 查看详情

在 Firebase 上托管 Angular 项目

】在Firebase上托管Angular项目【英文标题】:HostingAngularProjectonFirebase【发布时间】:2018-09-1712:20:41【问题描述】:我正在尝试在Firebase上托管我的Angular(5)项目,并且我能够部署我的应用程序,但是当我这样做时,主机会在我的项... 查看详情

在一个 IP 上托管多个 Golang 站点并根据域请求提供服务?

...时间】:2017-02-1502:11:20【问题描述】:我正在运行安装了Ubuntu的VPS。如何在url中不指定端口(xxx.xxx.xxx.xxx:8084)的情况下,使用同一个VPS(同一个IP)服务多个Golang网站?例如 查看详情

在 000webhost 上托管时无法使用 jwt 连接到 laravel api

】在000webhost上托管时无法使用jwt连接到laravelapi【英文标题】:Troubleconnectingtolaravelapiwithjwtwhilehostingon000webhost【发布时间】:2019-08-0600:37:49【问题描述】:我正在尝试在000webhost免费层上托管一个项目,但我遇到了这个问题。我已... 查看详情

在 Netlify 上托管时设置电子邮件

】在Netlify上托管时设置电子邮件【英文标题】:SettingupanemailwhilehostingonNetlify【发布时间】:2018-11-3019:51:36【问题描述】:想知道是否有人在使用Netfliy托管网站时有设置电子邮件的经验?我使用google域注册了一个域名,并将名称... 查看详情

使用 apache 在单个 VPS 上托管多个 laravel 5.5 项目?

】使用apache在单个VPS上托管多个laravel5.5项目?【英文标题】:Hostingmultiplelaravel5.5projectsonasingleVPSwithapache?【发布时间】:2018-06-0513:55:34【问题描述】:我有一个DigitalOceanVPS,我想做的是设置多个应用程序但只更改http://ip/:project。... 查看详情

在具有 80 端口的 IIS 上托管 2 个网站 1,在 Xampp 8081 端口上托管 1 个网站

】在具有80端口的IIS上托管2个网站1,在Xampp8081端口上托管1个网站【英文标题】:Host2Websites1onIISwith80Portand1onXampp8081port【发布时间】:2020-06-2707:53:09【问题描述】:我有一个网站first.com,它使用80端口(DNS指向主机服务器的first.co... 查看详情

在 azure 上托管 WCF 服务

】在azure上托管WCF服务【英文标题】:HostingWCFserviceonazure【发布时间】:2011-05-1718:35:57【问题描述】:我有一个想在azure上运行的wcf服务,但遇到了几个问题:首先:我是选择Web角色还是工作者角色来运行wcf服务?第二:客户端... 查看详情

如何在 Google App Engine 上托管静态 HTML 文件?

】如何在GoogleAppEngine上托管静态HTML文件?【英文标题】:HowtohoststaticHTMLfilesonGoogleAppEngine?【发布时间】:2010-10-2314:11:12【问题描述】:是否可以在AppEngine上托管静态HTML网站?以及如何让我的域名使用它?【问题讨论】:【参考... 查看详情

如何在实际服务器上托管使用 laravel 5 制作的网站?

】如何在实际服务器上托管使用laravel5制作的网站?【英文标题】:Howtohostasitemadewithlaravel5onaactualserver?【发布时间】:2016-01-2701:31:33【问题描述】:我使用Laravel5框架创建了一个站点,但是我在本地服务器(localhost)上创建了站... 查看详情

在 Azure Blob 存储上托管多个静态网站

】在AzureBlob存储上托管多个静态网站【英文标题】:HostingmultiplestaticwebsitesonAzureBlobStorage【发布时间】:2021-05-0520:38:24【问题描述】:我目前在AzureBlob存储上托管一个静态Web应用程序,它使用我在AzureKeyVault上拥有的SSL证书——见... 查看详情

如何在 google firebase 上托管我的 laravel 项目

】如何在googlefirebase上托管我的laravel项目【英文标题】:HowdoIhostmylaravelProjectongooglefirebase【发布时间】:2020-01-1013:29:18【问题描述】:我正在做一个项目,我使用Vue.js作为前端,使用laravel作为后端,使用mysql作为数据库。现在我... 查看详情

在 Firebase 托管上托管 Vue

】在Firebase托管上托管Vue【英文标题】:HostVueonFirebaseHosting【发布时间】:2020-06-1714:39:41【问题描述】:我正在尝试在Firebase上使用此代码托管,但它不起作用。Item.name出现而不是值:(我已经在Codepen上测试了相同的代码并且它有... 查看详情