教你三分钟用docker compose搭建一个自己的个人博客网站
hi,大家好,我是 jack xu,今天和大家聊一个轻松、好玩、易懂的话题,就是教大家搭建一个自己的个人博客网站,可以在同事朋友面前炫耀一把。事情的缘由是我们公司有个同事,有一天他给了我一个网站,我打开一看,上面是一个 jenkins 的页面,我问他这个你是怎么搞的,他说他有一块树莓派,然后在上面搞着玩,装了个 jenkins,我说你这样子搞就浪费了,装个 jenkins 也没什么用,不如装个个人博客网站,这样你的树莓派也不浪费,别人也能通过你的域名来访问,你也可以发一些文章上去,这样岂不是妙哉。
小伙伴听后觉得很有道理,可是他不会搭,于是乎我就决定写一篇教程来帮助他,同事也分享给大家看下,扩展扩展知识,开阔开阔眼界哈。
准备工作
开头的准备工作还是那么两样,安装docker和配置镜像加速器,如果还不会的同学可以看下我的《初识docker》,这是预备知识。然后今天我们是用 docker compose 来实现的,所以还需要安装下 docker compose,我们先打开官网看到上面有步骤。
我们按步骤操作下
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
测试一下,安装成功了
拉取镜像
安装个人博客的核心是 wordpress 开源框架,源码界面全都帮我们集成好了,所以我们只需要拉取它的镜像,当然我们还需要一个数据库来存储数据,所以还得拉一个mysql。
docker pull wordpress
docker pull mysql:5.6
创建yml文件
首先说下什么是 docker compose,前面我们使用 docker 的时候,定义 dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。
而 docker compose 的作用就是可以让我们轻松、高效的管理容器,它是一个用于定义和运行多容器 docker 的应用程序工具。
1、先创建一个文件夹
mkdir -p /jackxu/wordpress
2、进入到目录,创建一个 yml 文件。(这里我指定了一个网络,如果不指定的话会默认帮我们创建一个bridge类型的网络。)
vi docker-compose.ymlversion: '3'
services:wordpress:image: wordpressrestart: alwaysports:- 80:80environment:WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: exampleuserWORDPRESS_DB_PASSWORD: examplepassWORDPRESS_DB_NAME: exampledbnetworks:- jackxu-netvolumes:- wordpress:/var/www/htmldb:image: mysql:5.6restart: alwaysenvironment:MYSQL_DATABASE: exampledbMYSQL_USER: exampleuserMYSQL_PASSWORD: examplepassMYSQL_RANDOM_ROOT_PASSWORD: '1'volumes:- db:/var/lib/mysqlnetworks:- jackxu-netvolumes:wordpress:db:networks:jackxu-net:driver: bridge
3、把 docker compose 启动起来
docker-compose up -d
好,成功了,稳了!
配置博客网站
接着我们来访问一下 http://www.jackxu.vip/wp-admin/install.php ,进行博客的语言的选择,网站的账号密码选择,一直点下一步下一步,很简单。
进入后台可以设置博客的皮肤、名称,发文章,管理评论,管理用户等各种功能。
配置好以后,别人就能通过你的域名 http://www.jackxu.vip/ 访问啦!
总结
至此,三分钟教你搭建一个个人博客网站全部结束,最后总结几点:
- 本文用的是 docker compose 的方式搭建,如果小伙们不想用的话可以用原生的方式哦,命令如下:
docker run -d --name jackmysql -e MYSQL_ROOT_PASSWORD=examplepass -e MYSQL_DATABASE=db_wordpress -p 3306:3306 mysql:5.6
docker run -d --name jackwordpress --link jackmysql -e WORDPRESS_DB_HOST=jackmysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=examplepass -e WORDPRESS_DB_NAME=db_wordpress -p 80:80 wordpress
- 讲解一下docker-compose.yml 文件里的内容
(1)version: '3'
表示docker-compose的版本
(2)services
一个service表示一个container
(3)networks
相当于docker network create app-net
(4)volumes持久化
相当于-v v1:/var/lib/mysql
(5)image
表示使用哪个镜像,本地build则用build,远端则用image
(6)ports
相当于-p 8080:8080
(7)environment
相当于-e
- 域名访问
最后回到开篇提到我的同事,他是用树莓派的方式来搭建网站的,这样有个好处就是省钱,不用买单独的服务器,而缺点是需要一直开机,占用电源、占用地方;有断网服务器不能访问的风险;此外登录主机外网也是不能访问的,只能和树莓派在同一个网络;以及网络运营商可能会封80端口等问题。
而我比较有钱任性,我是在阿里云买的 jackxu.vip 的域名,以及阿里云的服务器,以及在阿里云备的案,通通都是在阿里云一条龙服务,这么多搞下来金钱时间花的都比较久,所以选用哪种方式小伙们自己选择哈。最后原创不易,如果你觉得写得不错,请点一个赞!
教你三分钟用docker compose搭建一个自己的个人博客网站相关推荐
- Docker学习之路05:五分钟用docker compose搭建一个自己的个人博客网站!
五分钟用docker compose搭建一个自己的个人博客网站! Docker学习路线传送门: Docker学习之路01:Docker的安装 Docker学习之路02:阿里云镜像加速器 Docker学 ...
- Hexo+gitee:30分钟搭建一个自己的个人博客网站 欢迎友链呀<(▰˘◡˘▰)
Hexo + Gitee 部署自己的个人博客 目前市场上比较火的一些博客框架: Hexo.jekyll.Solo.Halo .gohugo.VuePress.wordpress 等等 ,这些都是开 ...
- 如何搭建一个属于自己的博客网站?(小白教程)
如何搭建一个属于自己的博客网站?(小白教程) 一.准备阶段 二.搭建阶段 1.服务器阶段 2.宝塔面板阶段 3.WordPress阶段 三.结尾语 欢迎大家访问我的个人博客:endeavorchuan ...
- 如何搭建一个属于自己的博客网站?
很多人包括我在内,都希望能有一个自己的博客网站,但大部分人都不知道从何处着手,但实际上建立一个博客网站并没有想象的那么复杂,即便我们不是很懂技术,也可以做一个属于自己的网站.以下是我建立个人网站的一些 ...
- 使用vuepress搭建一个完全免费的个人博客网站
前言 只听过vue,没听过vuepress?它可是新的vue全家桶成员之一,尤雨溪大神推出的一款好用的模板. 不信?请看Evan You github.star数已过万,并不少. vuepress用于 ...
- 从零开始部署到上线:手把手教你搭建属于自己的个人博客网站!
博客:其实博客的正式名称是网络日记,见名知意,是使用特定软件在网络上出版发表和张贴个人文章的人,或者是一种由个人管理不定期更新文章的网站. 现在是互联网逐渐发展,已经出现了很多可以供自己写博客的网站, ...
- Blog 【如何搭建自己的个人技术博客网站】
如何搭建自己的个人技术博客网站 学习目标 1.[了解]搭建网站需要的web构件和网站运行原理 2.[掌握]如何搭建个人博客网站 学习前言 大家都是学习开发的,相信都接触过百度,新浪,淘宝,京东...等 ...
- 如何搭建一个属于自己的博客/企业网站?
本文首发于 Guanngxu 的个人博客:如何搭建一个属于自己的博客/企业网站 本文参考内容: 如何做博客/企业站以及注意事项 Typecho支持Emoji表情方法 说明:此篇文章得益于王红星的指导, ...
- 使用Hexo在GitHub Pages上搭建部署免费的个人博客网站(上:GitHub搭建)——最详细全面解读教程(没有之一)
标签:Hexo GitHub使用技巧 博客 网站搭建 点击此处,浏览效果更好 版权声明:本文为博主 @残灯飞雪 的原创文章,欢迎转载,传播知识.著作权归作者所有,商业转载请联系作者获得授权,非商业转载 ...
最新文章
- 又一重磅嘉宾来袭 | 国际人工智能联合会理事长杨强助阵2018品友互动人工智能大会
- java字符串格式化:String.format()方法的使用
- 神策数据杨宁:财富管理转型趋势下的精细化运营
- MySQL的show processlist:正在运行的线程
- 说一下对象或数组转JSON怎么转【fastjson】
- 软件测试人员电脑需要安装的基础工具
- Chapter 6. MATLAB数值计算基础
- 简单一招就能进行不同平台的推文转移,复制粘贴。
- java中使用jxls导出excel,excel单元格换行,多sheet页导出
- 0002.css编写文档中的年月日/日期填写格式
- Injected script—web 自动化测试技术原理解析,以TestCafe为例
- tc流量控制原理和实现
- 计算机电缆zrdjypvp,阻燃计算机用电缆ZRDJYPVP
- 安搭Share:中国最神奇的城市:500年出一个天子
- centos7下编译安装qemu5.0+spice-server最新版
- 第十周博文作业,项目2 (1)(2)
- 火绒剑 HRSword 5.0.1.1
- 从数据包谈如何封杀P2SP类软件
- CAXA AutoCAD标注小数后位数设置
- 【文本分类】常见文本分类深度学习模型汇总
热门文章
- PCIE Capability ID
- win 7系统怎么看计算机配置,windows7系统怎么查看电脑配置
- 【免费】如何轻松的从音乐网站下载自己喜欢的mp3音乐?
- 2020手机音频解码芯片_2020杰理音频芯片全解析,14款音频产品代表作拆解汇总...
- 高通WCD9370音频编解码器模块芯片介绍
- 千牛挂“虹(Rainbow)”,域和角色不胜数
- AWS 中文入门开发教学 28- 链接Rout53和freenom - 设置托管区(Hosted Zone)和名字服务器(NS)
- 基于Vue+Vant的旅游WebApp的设计与实现
- RuoYi-Vue项目登录过期的实现
- java中mysql分组查询_ES对应mysql的group by分组查询javaApi,多对多关系的分组查询...