如何使用nginx代理运行wordpress docker映像?
我正试图在Ubuntu VPS上的docker容器中运行一个应用程序 首先,我使用以下命令运行nginx代理服务器如何使用nginx代理运行wordpress docker映像?,wordpress,docker,nginx,nginx-reverse-proxy,jwilder-nginx-proxy,Wordpress,Docker,Nginx,Nginx Reverse Proxy,Jwilder Nginx Proxy,我正试图在Ubuntu VPS上的docker容器中运行一个应用程序 首先,我使用以下命令运行nginx代理服务器 docker run -d \ -p 80:80 \ -p 443:443 \ --name proxy_server \ --net nginx-proxy-network \ -v /etc/certificates:/etc/nginx/certs \ -v /var/run/docker.sock:/tmp/docker.sock:ro \ jwilder/nginx-pr
docker run -d \
-p 80:80 \
-p 443:443 \
--name proxy_server \
--net nginx-proxy-network \
-v /etc/certificates:/etc/nginx/certs \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
jwilder/nginx-proxy
docker run -d \
--name mysql_db \
--net nginx-proxy-network \
-e MYSQL_DATABASE=db1 -e \
MYSQL_USER=db1 -e \
MYSQL_PASSWORD=db1 -e \
MYSQL_ROOT_PASSWORD=db12 \
-v mysql_server_data:/var/lib/mysql \
mysql:latest
root:~# docker exec -it mysql_db /bin/bash
root@dd7643384f76:/# mysql -h localhost -u root -p
mysql> show databases;
docker run -d \
--name wordpress \
--expose 80 \
--net nginx-proxy-network \
-e DEFAULT_HOST=usa.mydomain.com \
-e WORDPRESS_DB_HOST=mysql_db:3306 \
-e WORDPRESS_DB_NAME=db1 \
-e WORDPRESS_DB_USER=db1 \
-e WORDPRESS_DB_PASSWORD=db1 \
-v wordpress:/var/www/html \
wordpress:latest
然后,我使用以下命令运行mysql数据库服务器
docker run -d \
-p 80:80 \
-p 443:443 \
--name proxy_server \
--net nginx-proxy-network \
-v /etc/certificates:/etc/nginx/certs \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
jwilder/nginx-proxy
docker run -d \
--name mysql_db \
--net nginx-proxy-network \
-e MYSQL_DATABASE=db1 -e \
MYSQL_USER=db1 -e \
MYSQL_PASSWORD=db1 -e \
MYSQL_ROOT_PASSWORD=db12 \
-v mysql_server_data:/var/lib/mysql \
mysql:latest
root:~# docker exec -it mysql_db /bin/bash
root@dd7643384f76:/# mysql -h localhost -u root -p
mysql> show databases;
docker run -d \
--name wordpress \
--expose 80 \
--net nginx-proxy-network \
-e DEFAULT_HOST=usa.mydomain.com \
-e WORDPRESS_DB_HOST=mysql_db:3306 \
-e WORDPRESS_DB_NAME=db1 \
-e WORDPRESS_DB_USER=db1 \
-e WORDPRESS_DB_PASSWORD=db1 \
-v wordpress:/var/www/html \
wordpress:latest
通过使用以下命令连接到MySql服务器,我可以验证MySql服务器是否正在运行
docker run -d \
-p 80:80 \
-p 443:443 \
--name proxy_server \
--net nginx-proxy-network \
-v /etc/certificates:/etc/nginx/certs \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
jwilder/nginx-proxy
docker run -d \
--name mysql_db \
--net nginx-proxy-network \
-e MYSQL_DATABASE=db1 -e \
MYSQL_USER=db1 -e \
MYSQL_PASSWORD=db1 -e \
MYSQL_ROOT_PASSWORD=db12 \
-v mysql_server_data:/var/lib/mysql \
mysql:latest
root:~# docker exec -it mysql_db /bin/bash
root@dd7643384f76:/# mysql -h localhost -u root -p
mysql> show databases;
docker run -d \
--name wordpress \
--expose 80 \
--net nginx-proxy-network \
-e DEFAULT_HOST=usa.mydomain.com \
-e WORDPRESS_DB_HOST=mysql_db:3306 \
-e WORDPRESS_DB_NAME=db1 \
-e WORDPRESS_DB_USER=db1 \
-e WORDPRESS_DB_PASSWORD=db1 \
-v wordpress:/var/www/html \
wordpress:latest
现在运行了nginx proxy
和mysql\u db
图像,我想在usa.mydomain.com上代理WordPress图像。为此,我运行以下命令
docker run -d \
-p 80:80 \
-p 443:443 \
--name proxy_server \
--net nginx-proxy-network \
-v /etc/certificates:/etc/nginx/certs \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
jwilder/nginx-proxy
docker run -d \
--name mysql_db \
--net nginx-proxy-network \
-e MYSQL_DATABASE=db1 -e \
MYSQL_USER=db1 -e \
MYSQL_PASSWORD=db1 -e \
MYSQL_ROOT_PASSWORD=db12 \
-v mysql_server_data:/var/lib/mysql \
mysql:latest
root:~# docker exec -it mysql_db /bin/bash
root@dd7643384f76:/# mysql -h localhost -u root -p
mysql> show databases;
docker run -d \
--name wordpress \
--expose 80 \
--net nginx-proxy-network \
-e DEFAULT_HOST=usa.mydomain.com \
-e WORDPRESS_DB_HOST=mysql_db:3306 \
-e WORDPRESS_DB_NAME=db1 \
-e WORDPRESS_DB_USER=db1 \
-e WORDPRESS_DB_PASSWORD=db1 \
-v wordpress:/var/www/html \
wordpress:latest
通过执行docker ps-a
然而,当我使用浏览器时,我得到HTTP错误503
503服务暂时不可用nginx/1.17.5
通过使用命令行my machine执行以下操作,我验证了usa.mydomain.com是否指向服务器的IP地址
ipconfig /flushdns
ping usa.mydomain.com
即使当我试图浏览我的服务器的ip地址,我得到相同的503错误
什么可能导致此问题?nginx不会自动代理。你的配置看起来怎么样?我没有看到你挂载一个,只有一个证书。出于可疑的原因,你挂载了docker套接字。这被认为是一种安全风险。你在问什么配置文件?我认为nginx代理背后的整个想法是它自动为您完成这项工作。我只是按照他们需要的文档进行操作。
/var/run/docker.sock:/tmp/docker.sock:ro
。无论你在读什么,我都建议删除该文档。您不需要安装套接字来设置代理和WordPress容器。我说的是我正在阅读的@TheFool,我没有一个nging.conf
,据我所知,jwilder/nginx代理
图像会自动配置使用主机的应用程序。我知道,我不知道这个jwilder/nginx代理。这是安装套接字,以便它可以使用套接字启动运行docker-gen的同级容器。docker-gen实际上正在生成我要查找的nginx.conf。这是一个相当复杂的设置,可能有点过头了。我可以教你如何做得更容易。从地面向上。如果你有闲聊什么的。