Commit 09e53dda by maxingyu

小更新

parent 0a66902f
## 四轮科技docker开发环境 ## 四轮科技docker开发环境
- 声明:仅在mac环境下投入使用,Windows理论上可用;本项目已是工作目录,最好不要放在子项目下 - 本项目已是工作目录,最好不要放在子项目下
- mysql、redis暂无使用
- topka项目未接入在内,依旧是在虚拟机内运行
### 使用前准备 ### 使用前准备
- 请自行前往docker官网下载新版docker或者升级本机docker版本 - 请自行前往docker官网下载新版docker或者升级本机docker版本
- docker官网链接:https://docs.docker.com/docker-for-mac/install/ - docker官网链接:https://docs.docker.com/docker-for-mac/install/
- mac环境下使用resolver解析本容器dns,命令如下 - mac环境下使用resolver解析容器dns(由于试验.loacl后缀无法生效,故采用.test后缀),命令如下
``` ```
sudo mkdir /etc/resolver sudo mkdir /etc/resolver
sudo touch /etc/resolver/test sudo touch /etc/resolver/test
...@@ -20,12 +18,10 @@ nameserver 127.0.0.1 ...@@ -20,12 +18,10 @@ nameserver 127.0.0.1
### 使用步骤 ### 使用步骤
``` ```
1.将自己的私钥放入本目录内,方便在 http://c9.test (账户:密码:root:root,浏览器ide)操作git 1.初始化
2.数据使用虚拟机内的,所以这里只启动这两个 - 说明:拉取镜像,构建容器
命令:docker-compose up -d - 命令:docker-compose up -d
3.启动gulp容器 请在当前gulp目录内执行 -p 后端口按实际需要使用 2.进入容器内:docker exec -it 容器名 sh
docker run -itd -v $PWD:/gulp -p 3000:3000 --name gulp cnice/piston:1.0.0
如需使用gulp命令进入容器内:docker exec -it gulp bash
``` ```
### 解读 ### 解读
...@@ -34,28 +30,28 @@ docker run -itd -v $PWD:/gulp -p 3000:3000 --name gulp cnice/piston:1.0.0 ...@@ -34,28 +30,28 @@ docker run -itd -v $PWD:/gulp -p 3000:3000 --name gulp cnice/piston:1.0.0
``` ```
目录结构说明 目录结构说明
├── gulp (需要gulp的项目) ├── config
│ ├── layui-agent │ └── dns
│ └── piston │ │ └── dnsmasq.conf
│ └── nginx
│ │ └── html.conf
│ │ └── php.conf
│ └── ... │ └── ...
├── laravel (laravel项目 php7.1) ├── laravel
│ ├── dealer │ ├── dealer
│ └── promotion │ └── promotion
│ └── ... │ └── ...
├── vue (vue项目) ├── web
│ ├── dealer │ ├── dealer
│ └── promotion │ └── promotion
│ ├── layui-agent
│ └── piston
│ └── ... │ └── ...
├── dns
│ └── dnsmasq.conf
├── storage (数据存放) ├── storage (数据存放)
│ ├── redis │ ├── redis
│ └── mysql │ └── mysql
│ └── ... │ └── ...
├── .gitignore ├── .gitignore
├── c9.conf
├── docker-compose.yml ├── docker-compose.yml
├── html.conf (前端 nginx配置) └── README.md
├── php.conf (php nginx配置)
├── README.md
``` ```
\ No newline at end of file
#promotion vue:npm run dev
server { server {
listen 80; listen 80;
server_name piston.test; server_name piston.test;
root /web/piston/dist; root /web/piston/dist;
index index.html;
index index.html index.htm index.php; access_log /var/log/nginx/piston.access.log;
error_log /var/log/nginx/piston.error.log;
charset utf-8;
client_max_body_size 20m;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /console { location /console {
proxy_pass http://sosocar.test; proxy_pass http://sosocar.test;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} }
location /ipa {
location = /favicon.ico { access_log off; log_not_found off; } proxy_pass http://sosocar.test;
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/piston.topka.dev-error.log error;
error_page 404 /index.php;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php56:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /topka/public/$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
} }
} }
server { server {
listen 80; listen 80;
server_name vue.dealer.test; server_name dealer.test;
root /web/dealer/dist; root /web/dealer/dist;
index index.html;
index index.html;
access_log /var/log/nginx/vue.dealer.access.log;
error_log /var/log/nginx/vue.dealer.error.log;
set $flag 0; access_log /var/log/nginx/dealer.access.log;
if ($remote_addr !~ "113.233.134.130|122.70.153.156|122.70.153.157|60.17.6.59|36.112.66.147i|36.112.66.148") { error_log /var/log/nginx/dealer.error.log;
set $flag "${flag}1";
}
if ($request_uri !~* ^(/wh.html|/static/images/carsdaq_wh.png)$) {
set $flag "${flag}2";
}
#if ($flag = "012") {
# rewrite ^(.*) /wh.html redirect;
#}
if ($request_uri ~* ^(/wh.html)$) {
rewrite ^(.*) / redirect;
}
location ~* ^.+.(jpg|jpeg|gif|png) {
if (!-e $request_filename) {
proxy_pass http://dealer.test;
}
}
location / {
try_files $uri /index.html?$query_string;
}
location /static {
gzip_static on;
}
location /api { location /dealer {
rewrite /api/(.*) /dealer/$1 break;
proxy_pass http://dealer.test; proxy_pass http://dealer.test;
} }
} }
...@@ -133,7 +77,6 @@ server { ...@@ -133,7 +77,6 @@ server {
} }
} }
location /src/ { location /src/ {
alias /web/layui-provider/src/; alias /web/layui-provider/src/;
} }
......
server { server {
listen 80; listen 80;
server_name query.test; server_name api.management.test;
root /laravel/management/public;
add_header X-Frame-Options "SAMEORIGIN"; add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff"; add_header X-Content-Type-Options "nosniff";
...@@ -19,8 +20,8 @@ server { ...@@ -19,8 +20,8 @@ server {
error_page 404 /index.php; error_page 404 /index.php;
location ~ \.php$ { location ~ \.php$ {
fastcgi_pass php8:9000; fastcgi_pass management:9000;
fastcgi_param SCRIPT_FILENAME /query/public/$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /management/public/$fastcgi_script_name;
include fastcgi_params; include fastcgi_params;
} }
...@@ -31,7 +32,8 @@ server { ...@@ -31,7 +32,8 @@ server {
server { server {
listen 80; listen 80;
server_name dealer.test; server_name api.dealer.test;
root /laravel/dealer/public;
add_header X-Frame-Options "SAMEORIGIN"; add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff"; add_header X-Content-Type-Options "nosniff";
...@@ -50,7 +52,7 @@ server { ...@@ -50,7 +52,7 @@ server {
error_page 404 /index.php; error_page 404 /index.php;
location ~ \.php$ { location ~ \.php$ {
fastcgi_pass php71:9000; fastcgi_pass dealer:9000;
fastcgi_param SCRIPT_FILENAME /dealer/public/$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /dealer/public/$fastcgi_script_name;
include fastcgi_params; include fastcgi_params;
} }
...@@ -62,7 +64,7 @@ server { ...@@ -62,7 +64,7 @@ server {
server { server {
listen 80; listen 80;
server_name promotion.test; server_name api.promotion.test;
root /laravel/promotion/public; root /laravel/promotion/public;
client_max_body_size 1024m; client_max_body_size 1024m;
...@@ -83,7 +85,7 @@ server { ...@@ -83,7 +85,7 @@ server {
error_page 404 /index.php; error_page 404 /index.php;
location ~ \.php$ { location ~ \.php$ {
fastcgi_pass php71:9000; fastcgi_pass promotion:9000;
fastcgi_param SCRIPT_FILENAME /promotion/public/$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /promotion/public/$fastcgi_script_name;
include fastcgi_params; include fastcgi_params;
} }
...@@ -120,7 +122,7 @@ server { ...@@ -120,7 +122,7 @@ server {
proxy_pass http://api.sosocar.cn; proxy_pass http://api.sosocar.cn;
} }
location ~ \.php$ { location ~ \.php$ {
fastcgi_pass php56:9000; fastcgi_pass topka:9000;
fastcgi_index index.php; fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /topka/public/$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /topka/public/$fastcgi_script_name;
include fastcgi_params; include fastcgi_params;
......
...@@ -3,6 +3,7 @@ version: '3.5' ...@@ -3,6 +3,7 @@ version: '3.5'
services: services:
nginx: nginx:
container_name: nginx
image: nginx:alpine image: nginx:alpine
restart: always restart: always
volumes: volumes:
...@@ -14,41 +15,43 @@ services: ...@@ -14,41 +15,43 @@ services:
- 80:80 - 80:80
- 443:443 - 443:443
php56: topka:
container_name: topka
working_dir: /topka
image: cnice/4wheels-php56:latest image: cnice/4wheels-php56:latest
restart: always restart: always
volumes: volumes:
- './laravel/topka:/topka' - './laravel/topka:/topka'
hostname: local hostname: local
links:
- dbm
- dbr
- memcached
- beanstalkd
php71: dealer:
container_name: dealer
working_dir: /dealer
image: cnice/4wheels-php71:latest image: cnice/4wheels-php71:latest
restart: always restart: always
volumes: volumes:
- './laravel/dealer:/dealer' - './laravel/dealer:/dealer'
hostname: local
promotion:
container_name: promotion
working_dir: /promotion
image: cnice/4wheels-php71:latest
restart: always
volumes:
- './laravel/promotion:/promotion' - './laravel/promotion:/promotion'
hostname: local hostname: local
links:
- dbm
- dbr
- memcached
- beanstalkd
php8: management:
container_name: management
working_dir: /management
image: cnice/4wheels-php8:latest image: cnice/4wheels-php8:latest
restart: always restart: always
volumes: volumes:
- ./laravel/query:/query - ./laravel/management:/management
links:
- dbm
- dbr
dbm: dbm.test:
container_name: 4wheels-dbm
image: mysql:5.5 image: mysql:5.5
restart: always restart: always
environment: environment:
...@@ -58,7 +61,8 @@ services: ...@@ -58,7 +61,8 @@ services:
ports: ports:
- 3306:3306 - 3306:3306
dbr: dbr.test:
container_name: 4wheels-dbr
image: redis:alpine image: redis:alpine
volumes: volumes:
- './storage/redis:/data' - './storage/redis:/data'
...@@ -68,6 +72,7 @@ services: ...@@ -68,6 +72,7 @@ services:
command: redis-server --requirepass topka2012 --appendonly yes command: redis-server --requirepass topka2012 --appendonly yes
dns: dns:
container_name: 4wheels-dns
image: jpillora/dnsmasq image: jpillora/dnsmasq
restart: always restart: always
ports: ports:
...@@ -75,12 +80,16 @@ services: ...@@ -75,12 +80,16 @@ services:
- 5380:8080 - 5380:8080
volumes: volumes:
- './config/dns/dnsmasq.conf:/etc/dnsmasq.conf' - './config/dns/dnsmasq.conf:/etc/dnsmasq.conf'
memcached: memcached:
container_name: 4wheels-memcached
image: memcached:alpine3.14 image: memcached:alpine3.14
restart: always restart: always
ports: ports:
- 11211:11211 - 11211:11211
beanstalkd: beanstalkd:
container_name: 4wheels-beanstalkd
image: schickling/beanstalkd image: schickling/beanstalkd
restart: always restart: always
ports: ports:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment