基于Docker快速部署个人博客网站


安装docker

yum update -y
yum -y install docker

启动docker并设置未开机自动服务

sudo systemctl start docker
sudo systemctl enable docker

安装ftp server

mkdir -p /etc/pure-ftpd/passwd
docker pull stilliard/pure-ftpd:hardened
docker run -d --name ftpd_server -p 21:21 -p 30000-30009:30000-30009 -e "PUBLICHOST=localhost" -e "ADDED_FLAGS=-d -d" -v /home:/home/ftpusers -v /etc/pure-ftpd/passwd:/etc/pure-ftpd/passwd --restart always stilliard/pure-ftpd:hardened

添加ftp用户

docker exec -it ftpd_server sh -c "export TERM=xterm && bash"
pure-pw useradd yourname -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers
exit

安装mysql

mkdir -p /home/mysql
docker pull mysql
docker run --name mysql -p 3306:3306 -v /home/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d --restart always mysql

修改root密码 使远程客户端可以连接mysql

docker exec -it mysql bash
mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword';

安装blog ghost

mkdir -p /home/conf/ghost
docker pull ghost

复制默认配置

docker run --name tmp-ghost-container -d -p 3001:2368 ghost
//访问前端blog,以确保已生成content文件用于拷贝,再执行下面的命令
docker cp tmp-ghost-container:/var/lib/ghost/content /home/conf/ghost
docker rm -f tmp-ghost-container

运行ghost

docker run -d --name ghost -p 3001:2368 -v /home/conf/ghost/content:/var/lib/ghost/content --link=mysql:db -e database__client=mysql -e database__connection__host=db -e database__connection__user=root -e database__connection__password=newpassword -e database__connection__database=ghost -e url=http://yourdomain --restart always ghost

更改blog主题

cd /home/conf/ghost/content/themes
git clone https://github.com/blinkfox/ghost-matery2

安装nginx

mkdir -p /home/conf/nginx && mkdir -p /home/nginx-html
docker pull nginx

复制默认配置

docker run --name tmp-nginx-container -d nginx
docker cp tmp-nginx-container:/etc/nginx/conf.d /home/conf/nginx
docker rm -f tmp-nginx-container

运行nginx

docker run --name nginx -p 80:80 -v /home/nginx-html:/usr/share/nginx/html:ro -v /home/conf/nginx/conf.d:/etc/nginx/conf.d:ro -d --link=ghost:blog --restart always nginx

设置nginx转发到ghost

更改/etc/nginx/conf.d/default.conf里的内容

location / {
	proxy_pass   http://blog:2368;
}


原创博文,转载请注明来源:http://www.fengshangbin.com/blogbydocker/

上一篇

下一篇