系统
Mac 10.12.3
安装 Docker,在此不再赘述。
docker 版本
qiuqiuyuandeMacBook-Pro:web qiuqiuyuan$ docker --versionDocker version 17.06.0-ce, build 02c1d87qiuqiuyuandeMacBook-Pro:web qiuqiuyuan$
安装docker-compose,PS:Mac下安装docker时默认已安装
1、PIP 安装:sudo pip install -U docker-compose安装成功后,可以查看 docker-compose 命令的用法。2、二进制包发布的二进制包可以在 https://github.com/docker/compose/releases 找到。下载后直接放到执行路径即可。例如,在常见的 Linux 平台上。$ sudo curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose$ sudo chmod a+x /usr/local/bin/docker-compose
docker-compose.yml配置
phpfpm: image: php:edgephp volumes: - /Users/qiuqiuyuan/Desktop/web/www:/var/www/html ports: - "9000:9000" container_name: 'phpfpm'php5: image: php5 volumes: - /Users/qiuqiuyuan/Desktop/web/www:/var/www/html ports: - "9001:9000" container_name: 'php5'mysql: image: edgeto/mysql volumes: - /Users/qiuqiuyuan/Desktop/web/dataDir:/var/lib/mysql ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: '123456' container_name: 'mysql'nginx: image: nginx volumes: - /Users/qiuqiuyuan/Desktop/web/www:/usr/share/nginx/html - /Users/qiuqiuyuan/Desktop/web/nginx/conf.d:/etc/nginx/conf.d ports: - "80:80" - "90:90" container_name: 'nginx' links: - phpfpm - php5
docker-compose up -d 后台启动
Creating phpfpm ... Creating phpfpm ... doneCreating nginx ... Creating nginx ... done启动成功
nginx配置
server { listen 80; server_name www.test.ngx; #charset koi8-r; #access_log logs/host.access.log main; root /usr/share/nginx/html/test; index index.php index.html index.htm; location / { #try_files $uri $uri/ /index.php?$query_string; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass phpfpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/test/$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
多个php版本,php5和php7
qiuqiuyuandeMacBook-Pro:~ qiuqiuyuan$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES4da479f3c78c nginx "nginx -g 'daemon ..." 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:90->90/tcp nginx6002ed6bf2d3 php5 "docker-php-entryp..." 3 minutes ago Up 3 minutes 0.0.0.0:9001->9000/tcp php5ee786cf90b7a php:edgephp "docker-php-entryp..." 3 minutes ago Up 3 minutes 0.0.0.0:9000->9000/tcp phpfpm
docker-compose.yml配置
phpfpm: image: php:edgephp volumes: - /Users/qiuqiuyuan/Desktop/web/www:/var/www/html ports: - "9000:9000" container_name: 'phpfpm'php5: image: php5 volumes: - /Users/qiuqiuyuan/Desktop/web/www:/var/www/html ports: - "9001:9000" container_name: 'php5'nginx: image: nginx volumes: - //Users/qiuqiuyuan/Desktop/web/www:/usr/share/nginx/html - /Users/qiuqiuyuan/Desktop/web/nginx/conf.d:/etc/nginx/conf.d ports: - "80:80" - "90:90" container_name: 'nginx' links: - phpfpm - php5