我们如何使用运行“docker-compose up”的网络应用程序设置球童

问题描述

假设我们有一个使用 Django 构建的 Web 应用程序,它使用命令“docker-compose up”部署为 docker。现在我们已经部署并运行了网络应用。

18b01238718d   app_test:latest   "/app/entrypoints/ap…"   5 minutes ago   Up 5 minutes (healthy)   8001/tcp,0.0.0.0:8002->8002/tcp   test_api
2b8f3b48d1e4   app_test:latest   "/app/entrypoints/cr…"   5 minutes ago   Up 5 minutes             8001-8002/tcp                      test_cron
a2413139919e   app_test:latest   "/app/entrypoints/ad…"   5 minutes ago   Up 5 minutes (healthy)   0.0.0.0:8001->8001/tcp,8002/tcp   test_admin
4e76dbee107d   postgres:12.5     "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes             5432/tcp                           test_db

我们可以使用IP:8001访问该站点

我们如何使用 caddy 以 IP:80 访问该站点

我做了什么:

install Caddy and verified it is running.

systemctl status caddy
● caddy.service - Caddy
   Loaded: loaded (/usr/lib/systemd/system/caddy.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-04-03 13:54:11 UTC; 3s ago

访问 mydomain:80 时给出

您的网络服务器正在运行。现在让它为你工作。 ?

Caddy is ready to serve your site over HTTPS:

Point your domain's A/AAAA DNS records at this machine.
Upload your site's files to /var/www/html.
Edit your Caddyfile at /etc/caddy/Caddyfile:
Replace :80 with your domain name
Change the site root to /var/www/html
Reload the configuration: systemctl reload caddy
Visit your site!

然后,我编辑了/etc/caddy/Caddyfile:如下

mydomain.com

# Set this path to your site's directory.
root * /usr/share/caddy  (I believe this should point to my volume of my docker web app. but I don't kNow how we can do that. any help is appreciated.   )

# Enable the static file server.
file_server

# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080

# Or serve a PHP site through PHP-fpm:
# PHP_fastcgi localhost:9000

# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
  www.mydonmain.com {
    reverse_proxy 127.0.0.1:8001
}

api.mydonmain.com {
    reverse_proxy 127.0.0.1:8002
}          
   

root * /usr/share/caddy
(我相信这应该指向我的 docker 网络应用程序的容量。但我不知道我们如何做到这一点,因为网络应用程序是使用 docker-compose 卷“运行”的。感谢任何帮助。)

systemctl status caddy 之后我得到了什么

Apr 03 15:05:34 web-centos caddy[54954]: {"level":"info","ts":1617462334.6150506,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["mydomain.com"]}
Apr 03 15:05:34 web-centos caddy[54954]: {"level":"info","ts":1617462334.8799675,"logger":"tls.issuance.acme.acme_client","msg":"trying to solve challenge","identifier":"mydomain.com","challenge_type":"tl>
Apr 03 15:05:35 web-centos caddy[54954]: {"level":"info","ts":1617462335.2093322,"logger":"tls","msg":"served key authentication certificate","server_name":"mydomain.com","challenge":"tls-alpn-01","remote>
Apr 03 15:05:35 web-centos caddy[54954]: {"level":"info","ts":1617462335.286796,"remote">
Apr 03 15:05:35 web-centos caddy[54954]: {"level":"info","ts":1617462335.3579297,"ts":1617462335.4760425,"remote>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...