bashcurl -fsSL https://get.docker.com -o get-docker.sh&&sudo sh get-docker.sh
bashcurl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-aarch64 | sudo tee /usr/local/bin/docker-compose >/dev/null
bashcurl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 | sudo tee /usr/local/bin/docker-compose >/dev/null
bashsudo chmod +x /usr/local/bin/docker-compose
bashdocker -v && docker-compose -v
bashmkdir wordpress && cd wordpress && nano docker-compose.yml
yamlversion: '3.9'
services:
# MySQL容器
db:
image: arm64v8/mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: passwd_root # MySQL的root用户密码
MYSQL_DATABASE: wordpress # MySQL数据库的名称
MYSQL_USER: admin # MySQL数据库用户的名称
MYSQL_PASSWORD: passwd # MySQL数据库用户的密码
volumes:
- db_data:/var/lib/mysql # MySQL数据的持久化存储
# WordPress容器
wordpress:
depends_on:
- db
image: wordpress:latest
restart: always
ports:
- "9000:80"
environment:
WORDPRESS_DB_HOST: db # WordPress使用的MySQL数据库所在的主机
WORDPRESS_DB_USER: admin # WordPress使用的MySQL数据库的用户名,需要一致。
WORDPRESS_DB_PASSWORD: passwd # WordPress使用的MySQL数据库的密码,需要一致。
WORDPRESS_DB_NAME: wordpress # WordPress使用的MySQL数据库的名称,需要一致。
volumes:
- wordpress_data:/var/www/html # WordPress数据的持久化存储
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini # 解决上传大小2M限制
# Nginx Proxy Manager容器
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 不建议修改端口
- '38122:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口
- '443:443' # 不建议修改端口
volumes:
- ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建
- ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建
volumes:
db_data:
wordpress_data:
bashsudo docker-compose up -d
bashsudo docker-compose down
Email: [email protected]
Password: changeme
bashdocker ps
bashdocker exec -it 05eae044a6f6 /bin/bash
bashcp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
bashcd /usr/local/etc/php
upload_max_filesize = 200M #文件大小限制
post_max_size = 250M #post大小限制
memory_limit = 500M #内存占用限制
bashvi php.ini
部署完成后,一定要先进行输入127.0.0.1:81,去先设置Nginx Proxy Manager,申请域名并开启ssl
本文作者:我本无罪
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!