一. 安装docker
这里使用的都是Linux root权限
1. 安装需要的软件包
yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ yum install -y yum-utils device-mapper-persistent-data lvm2
2.安装docker
//docker-ce 开源免费的
$ yum install docker-ce
3. 安装完成后执行 docker version 如果出现docker版本信息说明安装成功
4. 安装Docker Compose
$ yum install docker-compose
5.配置docker国内镜像
vim /etc/docker/daemon.json
通过配置文件启动Docker,修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。
{
“registry-mirrors”: [“http://hub-mirror.c.163.com”]
}
保存后 重启docker 执行 service docker restart
二. 配置docker-compse 文件
1. lnmp 目录结构 docker-compose
docker-compose
├── conf //配置文件
│ └── nginx.conf //naginx配置
├── docker-compose.yml //docker-compose 配置文件
└── html //站点目录
├── index.html //静态文件
├── index.php //php文件
└── mysql.php //MySQL连接操作
2. nginx 文件配置
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php l.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php(.*)$ {
fastcgi_pass php:9000; //注意不要填写127.0.0.1 这里是相当于--link不能写死
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
}
}
2. 在 index.html 写入index.html
3.在index.php 写入
<?php
phpinfo();
4.在 mysql.php 中写入
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("connected faild: " . $conn->connect_error);
}
echo "connected success";
5. docker-compose.yml 书写如下
version: "3" #compose 版本
services: # 服务
nginx: #nginx服务
image: nginx:alpine #安装nginx镜像
ports: #端口
- 8090:80 # 本地端口:容器端口 映射
volumes:
- /docker-compose/html:/usr/share/nginx/html #nginx 静态文件映射
- /docker-compose/conf/nginx.conf:/etc/nginx/nginx.conf #nginx配置映射
php: #php服务 也是nginx.conf fcgi解析php位置 --link
image: devilbox/php-fpm:5.2-work-0.89 #要拉取的php镜像
volumes:
- /docker-compose/html:/var/www/html #项目根目录映射
mysql: #mysql 服务
image: mysql:5.6 拉取的mysql镜像
environment:
- MYSQL_ROOT_PASSWORD=123456 #给mysql设置默认密码
三. 部署安装 docker-compose up -d 默认启动 等价于 docker-compose up docker-compose.yml -d
1. -d 以守护进程的方式启动
2. docker ps 检测 服务(mysql,nginx,php)是否都正常开启
3.如果都开启成功 ,访问 http://192.168.234.128:8090/index.php 如果出现 php配置信息说明安装成功
四. 关闭 docker-compose -f docker-compose.yml down