一、拉取Mysql镜像
docker pull mysql:5.6
镜像名称:版本号
拉取了Mysql镜像后,我们可以启动mysql镜像
docker run -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name docker_mysql mysql:5.6
参数说明:
-d 后台形式运行
-p 端口映射 3306是宿主/本机端口 3306是docker端口
-e 设置环境变量,指定mysql变量,这里可以设置mysql初始密码
-v 目录映射 -v = volume (数据持久化)
–name 为这个镜像设置一个名称
mysql:5.6 启动的mysql镜像与相对应的版本
mysql数据存储位置:/var/lib/mysql
PS:在日常使用中,docker run 会先查看本地是否有相对应的镜像,没有的话,docker会自动下载需要运行的镜像
在这里可以使用docker ps 查看刚创建的docker 镜像
也可以使用 docker exec 进入mysql镜像
docker exec -it docker_mysql /bin/bash
参数说明:
-t 在容器里生产一个伪终端
-i 对容器内的标准输入 (STDIN) 进行交互
二、拉取PHP-fpm镜像
docker pull php:7.0-fpm
运行php镜像
docker run -d -p 9000:9000 -v /etc/nginx/www:/usr/share/nginx/html --name docker_php --link docker_mysql:mysql php:7.0-fpm
参数说明:
-v 目录挂载,/var/nginx/www/html 对应的是本机的目录地址,如果目录不存在则会自动创建,/var/www/html 对应的是镜像中的目录地址,并且两个目录内的文件会自动同步;
–link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务;
三、拉取Nginx镜像
docker pull nginx:1.10.3
运行Nginx镜像
docker run -d -p 80:80 -v /etc/nginx/www:/usr/share/nginx/html --name docker_nginx --link docker_php:phpfpm nginx:1.10.3
设置Nginx映射,进入/etc/nginx/conf.d,修改default.conf文件
location ~ \.php$ {
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
查看基本的LNMP环境
查看本机的外网地址
curl ifconfig.me
拿到IP地址后,浏览器直接访问即可看到Nginx页面
到这里说明基本的LNMP环境已经配置好了,现在所需要的就是到nginx里面进行相关的配置