家里没有公网,也没有个人vps服务器的,可以用Cloudflare 提供的tunnel直通家里局域网的NAS做一个代理的个人blog,使用docker compose命令如下:
services:
wordpress:
image: wordpress:latest
restart: always
# mapping? -> because I want to access the service on my LAN as well
ports:
- 80:80
environment:
WORDPRESS_DB_HOST: wordpress-db:3306
WORDPRESS_DB_USER: wordpressuser
WORDPRESS_DB_PASSWORD: pass
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp-content:/var/www/html/wp-content # Persist themes, plugins, uploads
depends_on:
- wordpress-db
wordpress-db:
image: mariadb:latest # Or mysql:latest
restart: always
environment:
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpressuser
MARIADB_PASSWORD: pass
MARIADB_ROOT_PASSWORD: pass
volumes:
- db_data:/var/lib/mysql # Persist database data
wordpress-cf-tunnel:
image: cloudflare/cloudflared
restart: unless-stopped
command: tunnel run
environment:
- TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN} # 映射.env的token
运行后在cloudflare的tunnel管理界面,填入需要转发的流量服务器和端口,服务器就是docker-compose.yaml里面你的service名字,这里是wordpress
这样子直接访问你的映射到域名就可以直接在公网访问自己的个人blog了。
参考资料:
https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-docker-compose