将WordPress环境构建在Docker上,将其挂载到本地目录并进行Git管理,
我想做的事情
-
- Mac ローカル環境で wordpress 開発をする。
- git でソース管理する。
环境 is the Chinese equivalent of “environment.”
- Mac OS M1 v11.4
配置环境
观看公式的快速入门指南来创建yml文件。
请帮我处理好我的WordPress。
version: "2"
services:
db:
image: mysql:5.7
container_name: "my-wordpress-db"
volumes:
- "db-data:/var/lib/mysql"
networks:
- my_wordpress_network
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
container_name: "my-wordpress"
volumes:
- "$PWD:/var/www/html"
- "$PWD/.docker/backup:/tmp/backup"
- "$PWD/.docker/log:/tmp/log"
ports:
- "8002:80"
depends_on:
- db
networks:
- my_wordpress_network
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db-data:
networks:
my_wordpress_network:
启动 Docker
# M1 だとこけるのでこれが必要だった
$ docker pull --platform linux/amd64 mysql:5.7
# コンテナ起動
$ docker-compose up -d
创建账号
当您使用浏览器访问 http://localhost:8002 时,将创建一个WordPress账户创建页面,您需要创建一个用户账户。然后按照常规操作即可。
使用git进行管理
当容器创建完成后,会在yml文件所在的文件夹中生成一系列的php文件。
$ tree -L 1
.
├── docker-compose.yml
├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-admin
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-docker.php
├── wp-config-sample.php
├── wp-config.php
├── wp-content
├── wp-cron.php
├── wp-includes
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php
开始使用 git init 进行源代码管理。
我从这里获取了.gitignore文件。
# ignore everything in the root except the "wp-content" directory.
!wp-content/
# ignore everything in the "wp-content" directory, except:
# "mu-plugins", "plugins", "themes" directory
wp-content/*
!wp-content/mu-plugins/
!wp-content/plugins/
!wp-content/themes/
# ignore these plugins
wp-content/plugins/hello.php
# ignore specific themes
wp-content/themes/twenty*/
# ignore node dependency directories
node_modules/
# ignore log files and databases
*.log
*.sql
*.sqlite
.maintenance