docker下安装typecho建立自己得博客系统(1)dockerfile篇
需求说明使用typeecho一款php软件在docker环境下构建运行自己得博客系统,并安装ssl证书。博客软件typechohttp://typecho.org/Step1:拥有一台包含docker软件的linux操作系统# docker -v
Docker version 1.12.6, build 96d83a5/1.12.6
# Step2:由于我的环境还有一个老系统使用tengine2搭建的所以我会直接将tengine作为内部的反向代理,把容器导出的端口提供服务# nginx -v
Tengine version: Tengine/2.2.0 (nginx/1.8.1)
#
Step3:下载typeecho1.安装git命令$git clone https://github.com/typecho/typecho.git typeecho2.typeecho人性化的给我们提供了dockerfile文件,不过他们是把typecho程序,放在一个包含了mysql+nginx+php-fpm的容器中去,显然这是最简单的方式,不过使用docker-compose构建的话,服务会变得更容易维护,不过这次我们任然使用官方提供的Dockerfile去构建。Step4:使用docker构建1.进入到tools目录$cd ./typeecho/tools
$ls
2.构建$docker build -t typeecho:0.1 .在构建过程中可能会遇到安装mysql的时候报错,这个时候我们打开dockerfile去fix它
21行增加一行
3.构建完成之后
哇靠,如此之大,厉害了我的哥,typeecho官方提供的dockerfile啊,没有清理很多tmp文件
Step5:开始安装1.启动一个typecho容器# docker run -d -v /server/docker-apps/typecho:/www typeecho:0.1
f16060b32360834384e745317f5f657e17eb91fde1aaba0ad662995b1ab97511
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e01b2d210cc typeecho:0.1 "/bin/sh -c '/php/sbi" 3 minutes ago Up 3 minutes 80/tcp, 3306/tcp typecho
# 这里我们不需要去暴露任何端口,因为都是不安全的,特别是数据库的3306端口,由于我们是通过宿主机的nginx去访问。 -v参数是必须的,他指定我们去挂载网站得根目录到容器内部的网络上。2.添加宿主机nginx的反代配置
查看宿主机ip$docker inspect 9e在network中添加nginx配置server{
listen 80;
server_name blog.oeynet.com;
location / {
proxy_pass http://192.168.0.2:80;
}
}重新启动接着我们访问 zhidianyun.cn,能访问说明我们已经成功了
页:
[1]