为WordPress网站配置docker撰写文件时出错



我正在使用Docker及其容器,我想在其使用Nginx、PHP和Letscrypt的容器中添加1个以上的WordPress站点。我有一个包含数据库的容器,两个包含wordpress和phpfpm7.4的容器。另一个带有nginx的容器和另外两个带有certbot的容器来生成ssl证书我已经有了docker-compose.yml文件,但我遇到的问题似乎是第二个certbot容器没有生成证书。在这里,我留下了docker文件和它给我带来的错误。

version: '3'
services:
dbgb:
image: mysql:8.0.30
container_name: dbgb
restart: unless-stopped
env_file: .env
environment:
- MYSQL_ROOT_PASSWORD=Wordpress123
- MYSQL_DATABASE=greatbytedb
- MYSQL_USER=wordpressuser
- MYSQL_PASSWORD=Wordpress321
volumes:
- dbdata:/var/lib/mysql
command: '--default-authentication-plugin=mysql_native_password'
networks:
- app-network
wordpressgb:
depends_on:
- dbgb
image: wordpress:6.0.2-php7.4-fpm-alpine
container_name: wordpressgb
restart: unless-stopped
env_file: .env
environment:
- WORDPRESS_DB_HOST=dbgb:3306
- WORDPRESS_DB_USER=$MYSQL_USER
- WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
- WORDPRESS_DB_NAME=greatbytedb
volumes:
- greatbyte:/var/www/html
networks:
- app-network

wordpresshc:
depends_on:
- dbgb
image: wordpress:6.0.2-php7.4-fpm-alpine
container_name: wordpresshc
restart: unless-stopped
env_file: .env
environment:
- WORDPRESS_DB_HOST=dbgb:3306
- WORDPRESS_DB_USER=$MYSQL_USER
- WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
- WORDPRESS_DB_NAME=greatbytedb
volumes:
- hablamedecuba:/var/www/html/hablamedecuba
networks:
- app-network
webservergb:
depends_on:
- wordpressgb
- wordpresshc
image: nginx:1.23.1-alpine
container_name: webservergb
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- greatbyte:/var/www/html
- hablamedecuba:/var/www/html/hablamedecuba
- ./nginx-conf:/etc/nginx/conf.d
- certbot-etc:/etc/letsencrypt
networks:
- app-network


certbotgb:
depends_on:
- webservergb
image: certbot/certbot
container_name: certbotgb
volumes:
- certbot-etc:/etc/letsencrypt
- greatbyte:/var/www/html
command: certonly --webroot --webroot-path=/var/www/html --email mariodamian1986@gmail.com --agree-tos --no-eff-email --force-renewal -d great-byte.com -d www.great-byte.com
certbothc:
depends_on:
- webservergb
image: certbot/certbot
container_name: certbothc
volumes:
- certbot-etc:/etc/letsencrypt
- hablamedecuba:/var/www/html/hablamedecuba
command: certonly --webroot --webroot-path=/var/www/html/hablamedecuba --email mariodamian1986@gmail.com --agree-tos --no-eff-email --force-renewal -d hablamedecuba.com -d www.hablamedecuba.com
volumes:
certbot-etc:
greatbyte:
hablamedecuba:
dbdata:
networks:
app-network:
driver: bridge

在此处输入图像描述

由于hablamedecuba.com不可访问,因此无法执行质询,以便lets'encrypt下载临时质询文件。

*   Trying 142.93.119.120:80...
* connect to 142.93.119.120 port 80 failed: Connection refused
* Failed to connect to hablamedecuba.com port 80 after 168 ms: Connection refused
* Closing connection 0
curl: (7) Failed to connect to hablamedecuba.com port 80 after 168 ms: Connection refused```
Either try to use a different challenge or make it available on port 80 temporarily.

您可以在添加以下代码后进行尝试。

certbot:
depends_on:
- webserver
image: certbot/certbot
container_name: certbot
networks:
- backend
volumes:
- 'certbot-etc:/etc/letsencrypt'
- 'certbot-var:/var/lib/letsencrypt'
- '/tmp/acme-challenge:/tmp/acme-challenge'                        
restart: unless-stopped        
environment:
TZ: '${LOCAL_TIMEZONE}'
entrypoint: /bin/sh -c "certbot certonly --webroot --webroot-path /tmp/acme-challenge --rsa-key-size 4096 --non-interactive --agree-tos --no-eff-email --force-renewal --email ${LETSENCRYPT_EMAIL} -d ${DOMAIN_NAME} -d www.${DOMAIN_NAME}; 
trap exit TERM; while :; do certbot renew --dry-run; sleep 12h & wait $${!}; done;"

这个链接在这里输入链接描述,准备安装全栈docker compose-wordpress。我建议你尝试,尝试,这就是工作。

最新更新