作为代理的 Nginx 容器
Nginx container acting as a proxy
我最近开始学习 Docker 并且发现了一个名为 Portainer 的工具来管理 Docker 容器和图像。我将它 运行 作为远程服务器上的容器,但它使用端口 9000,我想将其更改为 80,所以我考虑使用代理。我决定使用 Nginx(我以前从未使用过)作为容器。我使用以下指令启动 Nginx:
docker run --name mynginx2 -v /var/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -P -d nginx
和 /var/nginx/conf/nginx.conf 文件如下所示:
events {
worker_connections 1024;
}
http {
server {
location / {
proxy_pass http://localhost:9000;
}
}
}
由于容器启动期间出错,必须插入 worker_connections。当我转到我的远程服务器的 ip(比如:http://ip.of.my.server/)时,我希望 Portainer 会出现,但没有任何反应。我什至没有得到响应的状态代码。
我在这里错过了什么?
亲切的问候,
丹尼尔
运行 你的 portainer
容器是这样的:
docker run -it --name myportainer -v "/var/run/docker.sock:/var/run/docker.sock" -d portainer/portainer
然后 运行 nginx
这样:
docker run --name mynginx2 -v /var/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 80:80 -P -d --link myportainer:myportainer nginx
在你的 nginx
配置中使用这个:
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
proxy_pass http://myportainer:9000;
}
}
}
上面的命令也应该可以解决问题,从长远来看,它会更容易使用 docker-compose
:
你的 docker-compose.yml
应该是这样的:
version: "2"
services:
proxy:
image: nginx:latest
container_name: proxy
ports:
- "80:80"
volumes:
- /var/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
portainer:
image: portainer/portainer
container_name: myportainer
那你就运行docker-compose up -d
我最近开始学习 Docker 并且发现了一个名为 Portainer 的工具来管理 Docker 容器和图像。我将它 运行 作为远程服务器上的容器,但它使用端口 9000,我想将其更改为 80,所以我考虑使用代理。我决定使用 Nginx(我以前从未使用过)作为容器。我使用以下指令启动 Nginx:
docker run --name mynginx2 -v /var/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -P -d nginx
和 /var/nginx/conf/nginx.conf 文件如下所示:
events {
worker_connections 1024;
}
http {
server {
location / {
proxy_pass http://localhost:9000;
}
}
}
由于容器启动期间出错,必须插入 worker_connections。当我转到我的远程服务器的 ip(比如:http://ip.of.my.server/)时,我希望 Portainer 会出现,但没有任何反应。我什至没有得到响应的状态代码。
我在这里错过了什么?
亲切的问候, 丹尼尔
运行 你的 portainer
容器是这样的:
docker run -it --name myportainer -v "/var/run/docker.sock:/var/run/docker.sock" -d portainer/portainer
然后 运行 nginx
这样:
docker run --name mynginx2 -v /var/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 80:80 -P -d --link myportainer:myportainer nginx
在你的 nginx
配置中使用这个:
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
proxy_pass http://myportainer:9000;
}
}
}
上面的命令也应该可以解决问题,从长远来看,它会更容易使用 docker-compose
:
你的 docker-compose.yml
应该是这样的:
version: "2"
services:
proxy:
image: nginx:latest
container_name: proxy
ports:
- "80:80"
volumes:
- /var/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
portainer:
image: portainer/portainer
container_name: myportainer
那你就运行docker-compose up -d