打算尝试一下当前很火的docker,于是pull了下试试
docker pull wordpress
还有很重要的数据库,选项很少,mysql/mariadb,同样
docker pull mariadb
之后就是配置了,我是先启动的wordpress,再配置的数据库,感觉顺序反过来更好吧(其实一样)
$ docker run –name wordpress -v /root/wp:/var/www/html –network net -p 127.0.0.1:8080:80 -d wordpress
$ docker run –name db -v /root/wpdb:/var/lib/mysql –network net –network-alias db -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb
-v 参数后面“:“分隔的连个目录,是将容器内的目录映射到容器外,前面的为宿主机的目录,后面为容器内的目录
-p 为端口映射,同上。
wordpress里的端口映射的宿主机这里用的127.0.0.1(localhost不好使),我这用的nginx反向代理,用的比较习惯,certbot后可以方便加https
network 参数中的net是如下命令新建的
docker create network net
默认创建bridge类型的网络接口
network-alias db
上一句制定别名,这样同一个网络下的主机直接用这个别名访问,省得去查IP
此时如果打开网页,安装wordpress,填上数据库参数,会提示能连接上mysql,但不能选择数据库(默认的数据库名称wordpress),原因是还没建立数据库文件(表不用建)。执行下面的docker语句进入交互模式,建立数据库
$ docker run -it –network net –rm mariadb mysql -hdb -uexample-user -p
输入密码后,基本一句
create database wordpressdb;
这样wordpress就可以了。
这样在nginx下的配置文件加一个server快就好了!!
发表回复