docker搞个wordpress

感情迁移 提交于 2019-12-01 03:08:45

1.先把wordpress的镜像下载下来

docker pull wordpress

2.下载mysql

docker pull mysql:lastest

3.启动mysql

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

name参数指定要启动的实例名称这里我称mysql实例为some-mysql,MYSQL_ROOT_PASSWORD指定ROOT密码。tag参数是MySQL的版本号,可以是5.7、5.6、8.0。

4.启动wordpress 并连接 mysql(应该是拉wordpress时自动配置了运行环境)

安装好数据库之后,就可以启动WordPress了。详细的文档参考这里。如果使用Docker中安装的MySQL实例,使用下面的命令。

docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress

name参数指定要启动的WordPress实例名称,link参数指定要使用的Docker MySQL实例名称,p参数将Docker内部的80端口映射到本地的8080端口上。

如果使用外部的MySQL数据库,则输入下面的命令。

docker run --name some-wordpress -e WORDPRESS_DB_HOST=10.1.2.3:3306 \ -e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress

 

WORDPRESS_DB_HOST参数是MySQL的数据库端口号,WORDPRESS_DB_USER是要数据库用户名,WORDPRESS_DB_PASSWORD是数据库密码。这里的WORDPRESS_DB_HOST参数不能填写localhost,因为这样会重定向到WordPress镜像内部的localhost,而这个镜像中实际上没有安装MySQL。所以这里需要填写本机IP地址,才能正确访问到Docker外部的本机的数据库。

因此需要注意,如果使用外部数据库的话,数据库的用户需要具有外部IP的权限,因为这次不是通过本机回环地址访问。默认情况下MySQL安装时候的ROOT用户只允许本地登录,所以可能需要配置允许用户远程登录。

然后打开浏览器,输入localhost:8080(端口号是命令中设置的),然后就可以看到WordPress了。按照提示输入用户名等信息,然后安装WordPress。等到它提示安装完成,那么WordPress的安装就算大功告成了。

最后稍加配置,再添加诸如内网映射等功能之后,站点就可以对外访问了。

用fig来配置

实践证明,用fig配置是最好的途径。在上面的基础上,我们只需在自己的docker目录下新建目录如wordpress-docker,再建fig配置文件fig.yml如下:

wordpress: 
 image: "wordpress:latest" 
 ports: 
 - "8080:80" 
 links: 
 - db:mysql 
  
db: 
 image: "mysql:latest" 
 expose: 
 - "3306" 
 environment: 
 - MYSQL_ROOT_PASSWORD=wordpress 

总结:

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

docker run --name some-wordpress --link some-mysql:some-mysql -p 8080:80 -d wordpress

这时想到只是跑了数据库 但是没有设置啊

容器有自己的内部网络和 IP 地址,可以使用 docker inspect + 容器ID 获取容器的具体信息。

现在要设置 只能先把端口从docker映射到 本机,然后用 mysql连接

docker stop some-mysql
#这句是删除实例的
docker rm some-mysql

然后又搞了一遍

docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

进去 连接一下

#进入mysql容器 用命令行控制mysql创建数据库
docker exec -it some-mysql bash

create database wordpress;

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!