Kevin's Zone

  • Home
  • Project
  • ContactMe
  • Login
  • Register
Kevin
受苦即了苦, 享福即消福, 福尽而死
  1. 首页
  2. 学习笔记
  3. Docker
  4. 正文

使用Docker安装MySQL+PHP+Nginx

2017年8月28日 4886点热度 1人点赞 0条评论

[title]安装Docker社区版[/title]

curl -fsSL https://get.docker.com/ | sh

[title]创建Docker内部网络[/title]

docker network create --subnet=172.18.0.0/16 mynetwork

[title]下载MySQL镜像[/title]

docker pull mysql:5.6

[title]配置MySQL容器启动脚本[/title]


#!/bin/bash
docker rm -f mysql
docker run -d --name mysql \
 --net mynetwork --ip 172.18.0.20 \
 -p 3333:3306 \
 -v /etc/localtime:/etc/localtime:ro \
 -v /mydata/mysql:/var/lib/mysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
  mysql:5.6
docker ps

解释:
设置容器的IP为172.18.0.20, 宿主机映射端口3333, 容器时区根据宿主机走, MySQL数据映射出来, 最后可设置root密码
具体可参考https://hub.docker.com/r/library/mysql/
[title]下载Nginx+PHP镜像[/title]

docker pull 1and1internet/ubuntu-16-nginx-php-7.0

这个镜像基于Ubuntu, 集成并优化了php和nginx, 从dockerfile可以看到它的nginx配置在容器的/etc/nginx下面, 查看nginx.conf可以看到只有http节点, server节点是从另一个目录引用进来的/etc/nginx/sites-enabled/site.conf
dockerfile:https://hub.docker.com/r/1and1internet/ubuntu-16-nginx-php-7.0/~/dockerfile/
可以自己新建一个server配置映射进去
[title]新建一个Web用户[/title]

useradd -u 65530 webuser

[title]配置Nginx+PHP容器启动脚本[/title]


#!/bin/bash
USERID=65530
PORT=80
WEB_ROOT="/mydata/web/1.0/"

sudo docker rm -f nginx-php-7.0
sudo docker run -d --name nginx-php-7.0 \
 --net mynetwork --ip 172.18.0.30 \
 -v /etc/localtime:/etc/localtime:ro \
 -u ${USERID}:0 \
 -p ${PORT}:8081 \
 -v ${WEB_ROOT}:/var/www/ \
 -v /mydata/nginx/config/mysite.conf:/etc/nginx/sites-enabled/mysite.conf \
 -v /mydata/nginx/logs/:/var/log/nginx/ \
 1and1internet/ubuntu-16-nginx-php-7.0:latest
sleep 15
sudo docker ps

解释:
${WEB_ROOT}是自己网站在宿主机上的目录, /var/www是nginx server配置里的网站目录, 把自己新建的server配置mysite.conf映射到/etc/nginx/sites-enabled/目录下, log映射出来
具体可参考https://hub.docker.com/r/1and1internet/ubuntu-16-nginx-php-7.0/
[title]PHP与MySQL链接[/title]

连接的地址可以使用Docker内部网络, 172.18.0.30:3306, 把刚才外网映射出来的3333加到防火墙, 比较安全.

欢迎加入技术交流群: 84436262

标签: 暂无
最后更新:2017年9月4日

Kevin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2021 Kevin's Zone. ALL RIGHTS RESERVED.

京ICP备16064400号-1