闲话少说,进入正题。小型企业站快速上云实在是一件很随意马虎的事情,但是每次配置做事器却并不是一件随意马虎的事,每次大家都要找一些须要安装的插件和组件,有的由于版本问题,有的由于翻墙问题末了的安装过程相称麻烦。Docker就成为了我们快速支配的工具。
docker
本文中我将以php7+nginx+mysql+为例在centos6.8以上系统中进行docker环境的搭建,也便是常说的LNMP环境,接下来为大家大略进行网站配置的教程.

开始前我们明确一下所要安装做事的插件及开放的端口
Php7-fpm进程默认开放9000端口,Nginx默认开放80端口,也可以根据须要进行调度,Mysql开放3306端口。
本文中我们采取官方镜像进行docker源的加速。
拉取镜像
PHP
docker pull php:7.2.3
MySQL
docker pull mysql:5.7.21
Nginx(Tengine/openresty)
docker pull nginx:1.13.10
启动容器
启动容器时,须要把稳各容器之间的关联关系。
在LNMP架构中,WEB做事器(Nginx)须要将PHP要求转发给php-fpm进行处理,而PHP要进行数据的存取,少不了和数据库(MySQL)进行交互,以是他们之间存在关联,那么启动时须要指定这些关联,这个关联利用networks参数来指定。
建立网络
docker network create my_netdocker run -it -d -p 3306:3306 --network my_net -e MYSQL_ROOT_PASSWORD=123456 -v /mnt/mysql:/var/lib/mysql --name mysql mysql:5.7.21
docker run -d -p 9000:9000 --name php -v --network my_net /mnt/html:/usr/local/openresty/nginx/html php:7.2.3 #PHP
docker run -d -p 80:80 --name nginx -v /mnt/html:/usr/local/openresty/nginx/html --network my_net nginx:1.13.10 #Nginx
启动时我们多利用了一个-v参数,这个参数的意思是挂载,浸染是将宿主机的一个目录挂载到容器中指定的目录,这样,纵然我们销毁了这个容器,那容器中的数据依然保留在宿主机上,不会丢失。比如数据库存放数据的data目录,WEB做事器存放代码的www目录,每个做事存放配置文件的目录等。
web_server: image: nginx ports: - \公众80:80\"大众 - \"大众443:443\"大众 volumes: - /mnt/html:/usr/local/openresty/nginx/html networks: - \公众my_net\"大众db_server: image: docker.io/mysql:5.7.21 environment: MYSQL_ROOT_PASSWORD: 123456 ports: - \公众3306:3306\公众 volumes: - /mnt/mysql:/var/lib/mysql networks: - \"大众my_net\"大众php: image: docker.io/php:7.2.3 container_name: php links: - db_server:mysql ports: - \"大众9000:9000\公众 volumes: - /mnt/html:/usr/local/openresty/nginx/html - /mnt/php:/usr/local/etc/php networks: - \"大众my_net\"大众 networks: my_net: driver: bridge
保存为docker-compose.yml,并在该文件处实行启动命令docker-compose up -d
Starting mysql ... doneStarting php ... doneStarting nginx ... done
可以验证一下是否正常启动:
docker ps -a 或 docker-compose ps
手打不易,如果以为有用请关注我!
欢迎转发收藏