为什么使用docker搭建LAMP环境

坦白说,我使用docker的原因其实比较简单,个人的电脑资源不够用,还有就是linux这玩意挺折腾的,经常需要重装系统,还好我使用vmware入得门,配合上快照,倒也没发疯。
但是vmware挺耗资源的(本人8g笔记本),而却如实体机一样慢。
于是,只能使用docker,当然我也只认识docker。(真的很讨厌要大量的工具)
使用docker安装LAMP环境最好的地方就是资源隔离,加入环境系统崩溃了,能很快恢复,几个命令即可,也不怕一般的黑客攻击。

安装docker

不同的系统安装docker的方式不一样,不过最简单还得是mac,接着就是centos7,最让我心烦的是deepin上安装。还有就是源码安装,虽然会源码安装,但是没事不要不折腾自己。

好的,老规矩先上系统版本:

安装docker前先更新下,免得出错

# yum update -y
# reboot

我看有的人安装docker的时候需要安装Epel源,下面是他们的安装方式

# yum install -y epel-release
# yum install -y docker-io

不过我一般是更新完就直接

# yum install -y docker

启动

# systemctl  start  docker  //启动
# systemctl enable docker  //添加入开机启动

方案

搭建LAMP环境的主要方案分别是:
1. 一个镜像直接包含全部(简单才是最好用的)
2. apache、mysql、php独立连接。
虽然只是了两种方案,但是细节处还是有所不同的。比如说:直接下载别人做好的镜像或者是自己建模,自己建模也分yum安装,源码安装,然后还可以根据个人习惯优化和服务配置。

最简单的

这里我先介绍,第一种。

# docker search -s 10 lamp //搜索被收藏或使用较多的LAMP镜像,小伙伴们都推荐使用tutum/lamp
# docker pull docker.io/tutum/lamp  //下载镜像
# docker images

创建LAMP容器

# mkdir /mysql_data
# docker run -d --name=lamp -p 8080:80 -p 3306:3306  -v /mysql_data:/var/lib/mysql docker.io/tutum/lamp

将宿主机的目录“/mysql_data”映射到容器的“/var/lib/mysql”目录。这是因为默认情况下数据库的数据库文件和日志文件都会存放于容器的AUFS文件层,这不仅不使得容器变得越来越臃肿,不便于迁移、备份等管理,而且数据库的性能也会受到影响。因此建议挂载到宿主机的目录到容器内。

接下来进入容器

# docker exec -it lamp /bin/bash
# mysql_secure_installation  //初始化数据库

按下回城键你会看见结尾如下的对话。
Enter current password for root (enter for none):<–初次运行直接回车
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

初始化MariaDB完成,接下来测试登录

好的现在你只要将你的模板导入即可,至于详细设置不同网站有所不同

安装typecho个人博客模板

apt update
cd /var/www/html
rm -rf *
apt install -y wget
wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar zxf  -C type 1.1-17.10.30-release.tar.gz 
mv type/*  ./
cd ..
chmod 777 -R html

上面这段话你可以直接写入shell脚本,然后运行。
页面安装就不写了,反正也只是输入ip地址加上端口号,然后填写下数据库地址和创始账号。