centos7安装LD4NMP(docker,nginx,mariadb,php)
LD4NMP=表示Linux
下使用Docker
安装Nginx
+Mariadb
+Php
安装docker
请参考独立文章:linux下的docker操作笔记
安装 nginx
拉取镜像
docker pull nginx
启动镜像
部署命令:docker run --name nginx-1 -p 8080:80 -d nginx
解说:--name
表示启动的自定义名字-p
表示将宿主机的8080端口映射到容器的80端口-d
表示后台运行
这个是默认的配置,如果加上--rm
表示容器停止运行后自动销毁,启动之后执行docker ps
即可查看运行中的容器。
官方nginx容器默认的目录分别是:
程序目录:/usr/share/nginx/html
配置文件:/etc/nginx/nginx.conf
日志目录:/var/log/nginx
配置映射文件目录到本地
先在宿主机新建3目录:mkdir -p /data/dockers/nginx/www /data/dockers/nginx/conf /data/dockers/nginx/logs
www:网站程序目录
logs:日志目录
conf:配置目录
如果需要将配置也拷贝下来,则需要将容器的默认配置文件拖宿主机的conf目录下:docker cp CONTAINER_NAME:/etc/nginx/nginx.conf /data/dockers/nginx/conf/
新的部署命令是:
docker run --rm -d -p 50080:80 --name nginxone \
-v /data/dockers/nginx/www:/usr/share/nginx/html \
-v /data/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/dockers/nginx/logs:/var/log/nginx \
nginx
-e
表示配置,-v
表示宿主目录映射容器目录。
linux设计原则:没有消息就是最好的消息!
安装 mariadb
查找源
docker search mariadb
直接官方查看所有的tags:https://hub.docker.com/_/mariadb?tab=tags
拉取镜像
docker pull mariadb
创建本地数据映射存储路径
mkdir -p /data/mariadb/data
启动容器
不映射目录启动容器:docker run --name mariadb -p 53316:3306 -e MYSQL_ROOT_PASSWORD=初始密码 -d mariadb
映射目录,直接加上-v /data/mariadb/data:/var/lib/mysql
其实数据库无需映射目录也是可以的。
其中-e MYSQL_ROOT_PASSWORD=root
表示赋值变量,设置root密码
安装 PHP7
安装mysql 5.7版本(新项目建议使用mariadb替代)
拉取镜像
docker pull mysql:5.6
运行起来
sudo docker run -p 53306:3306 --name mysql56 -e MYSQL_ROOT_PASSWORD=初始密码 -d mysql:5.6