我是码头新手。
我想在一台主机上部署多个wordpress容器。我想到了两个解决方案,但我不知道它们是不是正确的方法。
解决方案-1:使用wordpress图像
docker run --name wordpress-1 -dp 8001:80 -e some-database-env wordpress
docker run --name wordpress-2 -dp 8002:80 -e some-database-env wordpress

我认为wordpress的图片包含了web server,php,fpm,所以我可以在http://localhost:8001运行的时候访问它。当我需要通过80端口向Internet公开两个服务时,我需要一个前端服务(nginx)来将请求转发给这两个服务,对吗?
解决方案-2:使用5.5.0-php7.3-fpm-alpine镜像
此图像较小,它只是从fpm打开了一个端口9000。好像没有web服务器。我试着用它来配置nginx,但不是工作。
docker run --name wordpress-1 -dp 9001:9000 -e some-database-env wordpress:5.5.0-php7.3-fpm-alpinenginx配置
server {
listen 9993;
server_name localhost;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
# I have try use container's ip, but network not work(ping not recieved)
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
}
}找不到浏览器显示文件

并得到nginx错误
2020/09/01 21:26:28 [error] 59036#0: *9 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://[::1]:9001", host: "localhost:9993"solution-1是在一台主机上部署多个wordpress容器的正确方式吗?
如何使用5.5.0-php7.3-fpm-alpine镜像在一台主机上部署多个wordpress容器?
发布于 2020-09-01 15:36:00
它不会侦听IP地址,因此将IP地址更改为:
fastcgi_pass 127.0.0.1:9001;至:
fastcgi_pass 172.17.0.1:9001;IP地址172.17.0.1是码头容器网络的IP地址网关。
或更改为:
fastcgi_pass ip_address_of_wordpress_container:9001;发布于 2020-09-01 16:25:31
只需继续您的第一个选项,并将NGINX设置为负载均衡器,并具有如下配置:
http {
upstream app {
server wordpress-1:80;
server wordpress-1:80;
}
}为了更简单,可以使用docker-compose。
https://stackoverflow.com/questions/63683205
复制相似问题