- _nosay
把博客系统导入docker搭建的lnmp环境
2017-11-02 14:24:50
下面开始把博客系统导入docker中,因为我们有了一个数据卷,所以我们直接把代码放到宿主机的wwwroot中即可,在wwwroot目录下执行
git clone https://gitee.com/nosay/blog.git blog
因为博客成分比较复杂,暂时就不开源了
程序导入以后,先行执行 docker-compose
exec
--user=laradock workspace
bash
然后在容器中执行以下命令
(注意,此处是在docker容器中执行的)
cd /var/www/blog/ composer config -g repo.packagist composer https://packagist.phpcomposer.com composer install
这一步是使用中国全量镜像下载必要安装文件,安装完以后,进入/wwwroot文件中执行
cp .env.example .env
然后打开网站看一眼,报错 Connection refused [tcp://127.0.0.1:xxxxx]
这是出于安全考虑,我更换了redis的默认端口,以及重设了密码
我们通过修改Dockerfile文件,来实现,执行
cd ~/laradock/redis
修改Dockerfile文件内容为
FROM redis:latest MAINTAINER Mahmoud Zalt <mahmoud@zalt.me> ## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it RUN mkdir -p /usr/local/etc/redis COPY redis.conf /usr/local/etc/redis/redis.conf VOLUME /data EXPOSE xxxxx(这个换成你自己的端口) CMD ["redis-server", "/usr/local/etc/redis/redis.conf"] #CMD ["redis-server"]
其中,需要准备好redis.conf文件,内容略,但是要注意的是redis.conf配置文件中,daemonize的值一定要设置为no,否则容易一启动就中止了,还有bind 要改为0.0.0.0,不然无法互通。然后在.env文件中搜索REDIS_PORT修改默认端口
最后修改:docker-compose.yml,找到redis,修改开放端口,这样就完成了redis的配置。执行
docker-compose down docker-compose build redis docker-compose up -d nginx redis mysql
接下来就需要配置mysql了,我们首先要把root默认密码更换了
进入root容器
docker-compose exec mysql bash
进入mysql,修改默认密码
update mysql.user set authentication_string=password('xxxxxx') where user='root' and Host = 'localhost';
然后重启mysql容器即可,打开网站,发现提示错误又变了,提交找不到数据库。这说明我们mysql已经连接成功了。
接下来我们再开一个phpmyadmin容器,便于数据导入,执行命令
docker-compose up -d phpmyadmin
然后访问网址:8080即可打开phpmyadmin应用,然后直接建立数据库导入数据就可以了,用完记得把容器关掉,以免造成安全隐患。
导入数据后,继续打开网站,以现网站已经能够打开了,但是样式是乱的,那是因为我们还没有编译前端所需要的js和css
编译是需要安装node,以及npm的,你可以选择在容器中安装,也可以选择在宿主中安装,这个就暂且不表了,至此博客基本上已经导入了docker系统,下面我们需要在docker中安装sphinx以及python和jre。