最近在学Linux的运维知识,正巧把LAMP和discuz部署还有docker几个知识点了解了一下。然后就想着把discuz!部署在docker上。
说干就干!先在本地上装好docker。然后去docker hub上拉个discuz的镜像和mariadb的镜像。
这里使用的是 tencentci/discuz 的镜像。 然而紧接着问题也出来了。在运行容器后,成功跑起了discuz的install。填完账户信息后出现了无法连接数据库的错误。经过查证后发现,是tencentci/discuz 的镜像中没有mairadb,所以再去docker上搞一个mairadb的镜像,跑起来。
docker run --name Mariadb_Discuz -e MYSQL_ROOT_PASSWORD=123456 -d daf0f023c28d docker run --name tencentci_discuz --link Mariadb_Discuz:mariadb -p 80:80 -p 443:443 -d 4833f513a33c
然后用
docker exec -it [CONTAINER ID] #mariadb的CONTAINER ID
命令进入容器内。因为每个docker容器相当于一个完整的mini主机,有自己的ip地址。所以查看这个跑着mariadb的容器的ip
apt-get update apt-get install -y net-tools ifconfig
记住它的ip地址是什么。然后回到网页重新安装discuz。输入正确的数据库地址。搞定!
docker运行先后顺序:先运行mairadb的镜像,后运行discuz的镜像。因为discuz需要linkmairadb。



