【Docker】写博客的服务器到期不想续费了?来用Docker搭建一个LNMP环境吧(Typecho)


前言(废话)

  • 前一段时间域名和服务器相继到期了,由于服务器上的另一个站卖掉了,决定个人博客转CSDN,把以前写的一些学习内容慢慢搬过来。
  • 首先在本地搭建一下环境,因为最近学了点Docker(类似于虚拟机),所以决定就用这个了。
  • 我的环境是Mac,博客程序用的是Typecho,Docker是跨平台的,不同环境区别不大,后面也会写下自己的Docker学习记录。

!注意使用命令前将命令根据自己的情况补全!


一、创建网络

Docker容器之间是相互隔离的,而且每次重启容器时容器的ip会发生变化。首先创建一个共用的网络环境后,各个部分就可以通过容器名相互访问了。

docker network create --driver bridge  --subnet 192.155.0.0/16 --gateway 192.155.0.1 lnmp-net

参数说明(–是两个小横线)

参数名参数值说明
–driverbridge桥接模式(网络连接模式)
–subnet192.155.0.0/16网段
–gateway192.155.0.1网关的地址

最后一个是网络的名字


二、Mysql容器

1.创建Mysql容器及数据持久化

docker run --name docker_mysql -d -p 3310:3306 -v /本地conf地址:/etc/mysql/conf.d -v /本地数据地址:/var/lib/mysql -e MYSQL_ROOT_PASSWD=root用户密码 --net lnmp-net mysql:5.6

参数说明(注意看参数是一个-还是两个-)

参数名参数值说明
–namedocker_mysql容器名
-d后台运行
-p3310:3306端口映射(本地端口:容器端口)
-v/本地conf地址:/etc/mysql/conf.d文件映射(本地地址:容器地址)
-eMYSQL_ROOT_PASSWD=root用户密码配置信息
–netlnmp-net网络名

最后是镜像名和版本号
使用-v将文件映射到本地,是为了实现数据持久化,即容器销毁后数据仍然还在。

2.连接mysql导入数据

我使用的是Navicat,使用什么无所谓。
填写数据如下图,主机名写localhost,端口写刚刚映射的3310,root用户的密码刚刚也配置好了。
mysql数据库连接


三、PHP容器

docker run --name docker_php56 -d -v /本地文件地址:/www --net lnmp-net php

参数说明参考Mysql的参数说明


四、Nginx容器

1.创建Nginx容器

docker run --name docker_nginx -d -p 80:80 -v /网页文件地址:/usr/share/nginx/html -v /配置文件地址:/etc/nginx/conf.d -v /日志文件地址:/var/log/nginx --net lnmp-net nginx

参数说明参考Mysql的参数说明

2.创建及修改配置文件

在刚刚映射的配置文件目录下新建一个文件——default.conf,文件内容如下。

server {
	listen	80;
	server_name	localhost;
	location / {
		root	/usr/share/nginx/html;
		index	index.php index.html index.htm;
	}

	error_page	500 502 503 504	/50x.html;
	location = /50x.html {
		root	/usr/share/nginx/html;
	}

	location ~ \.php$ {
		fastcgi_pass	docker_php56:9000;
		fastcgi_index	index.php;
		fastcgi_param	SCRIPT_FILENAME	/www/$fastcgi_script_name;
		include		fastcgi_params;
	}
}

可以看到,在配置文件中,可以直接使用容器名和容器的端口来访问PHP


五、放入博客文件并修改

  • 做好以上环境的搭建后,直接在刚刚Nginx容器创建时映射的网页文件目录中放入你备份的文件即可,但是注意要修改数据库配置哦。
  • 数据库在使用时可以使用 localhost:本地映射端口 或 docker_mysql:3306

访问网页直接在浏览器中输入localhost访问。


总结

Docker是个十分实用的工具,既可以做测试使用,也可以用到以后在服务器上的批量化环境部署。🧑‍💻 🧑‍💻 🧑‍💻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值