【发布时间】:2020-10-18 01:00:03
【问题描述】:
如何使用容器中的 nginx 并通过设置配置文件访问其他容器? 我是码头工人的初学者。 我尝试学习如何使用 nginx 通过 docker 容器管理我的应用程序。 例如,我将使用“pgadmin”作为容器中的应用程序。
-
创建和启动容器。我尝试使用 [link] 参数连接两个容器。
sudo docker create -p 80:80 -p 443:443 --name Nginx nginx sudo docker create -e PGADMIN_DEFAULT_EMAIL=houzeyu2683@gmail.com -e PGADMIN_DEFAULT_PASSWORD=20121006 -p 5001:80 --link Nginx:PSQLA --name PSQLA dpage/pgadmin4 sudo docker start Nginx sudo docker start PSQLA -
转到 Nginx bash 并安装 nano edit。
sudo docker exec -it Nginx bash apt update apt install nano -
在 admin.conf 中创建和设置 nginx 配置文件。
nano etc/nginx/conf.d/admin.conf
在 admin.conf 中如下一击。
{
listen 80;
server_name admin.my-domain-name;
location / {
proxy_pass http://PSQLA:80;
}
}
我得到这个错误打击。
2020/10/17 01:57:16 [emerg] 333#333: host not found in upstream "PSQLA" in /etc/nginx/conf.d/admin.conf:5
nginx: [emerg] host not found in upstream "PSQLA" in /etc/nginx/conf.d/admin.conf:5
如何使用容器中的 nginx 并通过设置配置文件访问其他容器?
【问题讨论】:
-
docs.docker.com网站上有一些很好的背景信息。 Build and run your image 描述了构建自定义镜像的过程(一旦删除 nginx 容器,您将失去使用此设置的工作); Networking in Compose 描述了两个容器通信的直接方式;否则 Use user-defined bridge networks 如果你真的不想使用 Compose。
标签: docker nginx containers