我使用Docker搭建了一个本地的WordPress开发环境
本文所述的环境是Mac和Docker for Mac。
由于这篇文章中的方法完全不起作用,所以我写了如何使用Docker Compose来构建WordPress主题开发环境。
执行使用Docker的WordPress镜像的命令。
我参考了hub.docker的WordPress页面(https://hub.docker.com/_/wordpress/)并尝试执行了相应的命令。
docker run --name some-wordpress --link some-mysql:mysql -d wordpress
Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
386a066cd84a: Already exists
269e95c6053a: Pull complete
・・・ 略
Digest: sha256:4eefa1b7fdce1b6e6953ca18b6f49a68c541e9e07808e255c3b8cc094ff085da
Status: Downloaded newer image for wordpress:latest
docker: Error response from daemon: Could not get container for some-mysql.
See 'docker run --help'.
因为本地没有WordPress,所以开始下载,但是出现了错误。
出现了一个错误,提示本地没有名为“some-mysql”的容器。可能需要MySQL的映像。
创建 MySQL Docker 容器
创建适用于WordPress的Docker容器。
docker run --name wordpress-mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=pugiemonn -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=wordpressdb -d mysql
我创建了一个名为wordpress-mysql的容器。执行docker ps命令可以确认wordpress-mysql正在运行。
再次执行WordPress图像使用命令
我将尝试启动WordPress容器。
docker run --name pugiemonn-wordpress -p 8080:80 --link wordpress-mysql:mysql -d wordpress
ef203f6191fae131e4c2f61d7db60834435ebf23273c84497673ce742f165330
这次我们将启动它。我们可以使用docker ps来确认。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4d6245668af1 wordpress "docker-entrypoint.sh" 3 days ago Up 2 seconds 0.0.0.0:8080->80/tcp pugiemonn-wordpress
01739c7a1991 mysql "docker-entrypoint.sh" 3 days ago Up 19 minutes 3306/tcp wordpress-mysql
我能够从WordPress和MySQL的镜像中创建容器。
请通过浏览器确认。
我将访问 http://localhost:8080/。
WordPress的安装页面已显示出来。太好了!(☝ ՞ਊ ՞)
额外的东西
停止容器
如果要停止为WordPress而启动的容器,则可以使用”stop”命令停止容器。
docker stop pugiemonn-wordpress wordpress-mysql
开始容器
由于正在创建容器,所以只需启动即可启动开发环境。
docker start wordpress-mysql pugiemonn-wordpress
wordpress-mysql
pugiemonn-wordpress
我想要将本地文件与Docker容器同步。
我认为这是好的,但开发环境还不够完善。
由于主机是Mac,所以只有将Mac的文件与Docker容器共享才能使用。
由于这是WordPress开发,所以我们将选择相对稳妥的开发WordPress主题。
mkdir pugiemonn_theme
cd pugiemonn_theme
我创建了一个名为pugiemonn_theme的工作目录。
创建docker-compose.yml文件
准备docker-compose.yml文件。
基于wordpress镜像创建一个新的镜像。
我已经发布了这篇文章,但是我写了一个关于如何使用可以动态变化的Docker Compose来构建WordPress主题开发环境的教程。
请参考
-
- https://hub.docker.com/_/wordpress/
- http://unskilled.site/%E5%85%AC%E5%BC%8Fmysql%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%A7docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E9%80%A3%E6%90%BA%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/