> ### 安装Docker ``` [root@localhost ~]# yum install docker [root@localhost ~]# service docker start ``` > ### 安装Docker2(用yum安装docker运行出现权限不足) - [docker下载1](https://download-stage.docker.com/) - [docker下载2](https://download.docker.com/) - https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/ - ce-18.03.0.ce-1.el7.centos.x86_64.rpm 链接:https://pan.baidu.com/s/1QYsZZ5fGQg-Yg7PQXyf3YA 密码:oxgo ``` docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm [root@VM_0_17_centos local]# yum localinstall -y docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm [root@VM_0_17_centos local]# service docker start [root@VM_0_17_centos local]# docker version Client: Version: 18.03.0-ce ``` > ### 拉取镜像 - nginx镜像 : docker pull [hub.c.163.com/winniewong/nginx:1.12.2](http://hub.c.163.com/winniewong/nginx:1.12.2) - php5.6镜像 : docker pull [hub.c.163.com/winniewong/php5:2](http://hub.c.163.com/winniewong/php5:2) - php7镜像 : docker pull [hub.c.163.com/winniewong/php7:1](http://hub.c.163.com/winniewong/php7:1) > ### 配置文件 - nginx.conf ``` worker_processes 1; error_log logs/error.log; pid logs/nginx.pid; events { worker_connections 65535; } #负载均匀测试 http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream phpserver{ server php5:9000; server php7:9000; } limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn perip 10; server { listen 80; server_name localhost; root /usr/local/www/html; access_log logs/localhost.log; location / { autoindex on; } location ~ \.php$ { fastcgi_index index.php; fastcgi_pass phpserver; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } } #php5项目配置 server { listen 80; server_name www.demo1.cn ; root /usr/local/www/html/demo1; access_log logs/demo1.log; location / { index index.html index.htm index.php; #autoindex on; if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; break; } } location ~ \.php(.*)$ { fastcgi_pass php5:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $1; include fastcgi_params; } } #php7项目配置 server { listen 80; server_name www.demo2.cn ; root /usr/local/www/html/demo2; access_log logs/demo2.log; location / { index index.html index.htm index.php; #autoindex on; if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; break; } } location ~ \.php(.*)$ { fastcgi_pass php7:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $1; include fastcgi_params; } } } ``` > ### docker配置 ``` #docker自启 systemctl enable docker #创建网络 docker network create lnmp #php5容器 docker run -d --name php5 --net lnmp -v /usr/local/www/html/:/usr/local/www/html/ --restart=always hub.c.163.com/winniewong/php5:2 #php7容器 docker run -d --name php7 --net lnmp -v /usr/local/www/html/:/usr/local/www/html/ --restart=always hub.c.163.com/winniewong/php7:1 #nginx容器 docker run -d -p 80:80 --name lnmp_nginx --net lnmp -v /usr/local/www/html/:/usr/local/www/html/ -v /usr/local/www/nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf --restart=always hub.c.163.com/winniewong/nginx:1.12.2 ``` - --name lnmp_nginx 启动容器的名称 - --net lnmp 让nginx, php5, php7 容器加入同一个网络 - -v /usr/local/www/html/:/usr/local/www/html/ 文件映射(将linux下的/usr/local/www/html/文件映射到容器的/usr/local/www/html/下) - --restart=always 失败重启