diff --git a/README.md b/README.md index c76a811..5cee1c4 100644 --- a/README.md +++ b/README.md @@ -3,27 +3,28 @@ 最近更新: +2019-08-28 mysql管理工具phpmyadmin + 2019-08-26 增加php7.1、php7.3、rabbitmq队列服务 2019-08-22 超级好用的接口管理工具Yapi -2019-08-19 docker可视化管理工具portainer - ## dnnmmp是什么?   它是基于docker的开发者集成环境,包含丰富的软件,但它是未来开发者的趋势,因为基于docker,使你本机电脑有云开发的效果。 一键安装所有程序,或者单独使用某个程序;方便版本切换,因为它是基于docker,所以一点也不影响本机环境,让程序员的整个生涯都不再需要为环境困扰。 前端、服务端、运维可以直接使用,效率提高非常多。 ## 目前包含的软件 -0. Yapi : 接口管理工具 -1. Node.js : 建议所有开发者学习的语言 -2. PHP : 世界上最好的语言 -3. Mysql : 数据库 -4. MongoDB : 数据库 -5. Redis : 数据库 -6. Nginx : 服务器 -7. Portainer : docker管理工具 -8. rabbitmq : 队列服务 +1. Yapi : 接口管理工具 +2. Node.js : 建议所有开发者学习的语言 +3. PHP : 世界上最好的语言 +4. Mysql : 数据库 +5. MongoDB : 数据库 +6. Redis : 数据库 +7. Nginx : 服务器 +8. Portainer : docker管理工具 +9. rabbitmq : 队列服务 +10. PhpMyAdmin :mysql管理工具 ## 特性 >1.使用对象:**前端**,**服务端**,**运维** @@ -51,52 +52,6 @@ [点击:GitHub](https://github.com/wallace5303/dnnmmp) - -## 附录1:目录结构 -``` -/ -├── composer Composer配置与缓存 -├── config 配置文件 -│   ├── mongodb mongodb -│   ├── Dockerfile Dockerfile文件 -│   ├── mysql mysql -│   ├── Dockerfile -│   ├── mysql.cnf mysql配置文件 -│   ├── nginx nginx -│   ├── conf.d -│   ├── certs 秘钥 -│   ├── localhost_https.conf https虚拟主机 -│   ├── localhost.conf 虚拟主机 -│   ├── Dockerfile -│   ├── nginx.conf nginx配置 -│   ├── node node -│   ├── Dockerfile -│   ├── php php -│   ├── extensions 扩展及脚本 -│   ├── install.sh 基础安装脚本 -│   ├── php56.sh php5.6扩展安装脚本 -│   ├── php72.sh php7.2扩展安装脚本 -│   ├── Dockerfile -│   ├── php-fpm.conf php-fpm配置文件 -│   ├── php.ini php.ini配置文件 -│   ├── redis redis -│   ├── Dockerfile -│   ├── redis.conf redis配置文件 -│   ├── yapi yapi -│   ├── Dockerfile -│   ├── config.json yapi配置文件 -│   ├── entrypoint.sh 脚本 -│   ├── wait-for-it.sh 脚本 -├── mongo mongodb数据目录 -├── log 日志目录 -├── mysql MySQL数据目录 -├── portainer_data portainer -├── docker-compose.yml Docker 服务配置 -├── docker-compose-manage.yml 管理服务 -├── .env 环境配置 -└── www 代码目录 -``` - - -## 附录2:收集的程序员常用网站 + +## 附录1:收集的程序员常用网站 - [程序员常用网站](http://www.kaka996.com/web/dh/dev) \ No newline at end of file diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml new file mode 100644 index 0000000..9ea26d3 --- /dev/null +++ b/demo/docker-compose.yml @@ -0,0 +1,277 @@ +version: "3" +services: + go: + build: + context: ./config/go/ + args: + GO_VERSION: ${GO_VERSION} + volumes: + - ${GO_PATH}:/go/:rw + environment: + TZ: "$TZ" + networks: + - default + node: + image: node:${NODE_VERSION} + volumes: + - ${SOURCE_DIR}:/var/www/html/:rw + environment: + TZ: "$TZ" + networks: + - default + + nginx: + image: nginx:${NGINX_VERSION} + ports: + - "${NGINX_HTTP_HOST_PORT}:80" + - "${NGINX_HTTPS_HOST_PORT}:443" + volumes: + - ${SOURCE_DIR}:/var/www/html/:rw + - ${NGINX_CONFD_DIR}:/etc/nginx/conf.d/:rw + - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf:ro + - ${NGINX_LOG_DIR}:/var/log/nginx/:rw + restart: always + environment: + TZ: "$TZ" + networks: + - default + + php73: + build: + context: ./config/php/ + args: + PHP_VERSION: ${PHP73_VERSION} + ALPINE_REPOSITORIES: ${ALPINE_REPOSITORIES} + PHP_EXTENSIONS: ${PHP73_EXTENSIONS} + MORE_EXTENSION_INSTALLER: php73.sh + TZ: "$TZ" + ports: + - "${PHP73_HOST_PORT}:9000" + volumes: + - ${SOURCE_DIR}:/var/www/html/:rw + - ${PHP73_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro + - ${PHP73_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw + - ${PHP73_LOG_DIR}:/var/log/php + restart: always + cap_add: + - SYS_PTRACE + networks: + - default + + php72: + build: + context: ./config/php/ + args: + PHP_VERSION: ${PHP72_VERSION} + ALPINE_REPOSITORIES: ${ALPINE_REPOSITORIES} + PHP_EXTENSIONS: ${PHP72_EXTENSIONS} + MORE_EXTENSION_INSTALLER: php72.sh + TZ: "$TZ" + ports: + - "${PHP72_HOST_PORT}:9000" + volumes: + - ${SOURCE_DIR}:/var/www/html/:rw + - ${PHP72_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro + - ${PHP72_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw + - ${PHP72_LOG_DIR}:/var/log/php + restart: always + cap_add: + - SYS_PTRACE + networks: + - default + + php71: + build: + context: ./config/php/ + args: + PHP_VERSION: ${PHP71_VERSION} + ALPINE_REPOSITORIES: ${ALPINE_REPOSITORIES} + PHP_EXTENSIONS: ${PHP71_EXTENSIONS} + MORE_EXTENSION_INSTALLER: php71.sh + TZ: "$TZ" + ports: + - "${PHP71_HOST_PORT}:9000" + volumes: + - ${SOURCE_DIR}:/var/www/html/:rw + - ${PHP71_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro + - ${PHP71_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw + - ${PHP71_LOG_DIR}:/var/log/php + restart: always + cap_add: + - SYS_PTRACE + networks: + - default + + php56: + build: + context: ./config/php/ + args: + PHP_VERSION: ${PHP56_VERSION} + ALPINE_REPOSITORIES: ${ALPINE_REPOSITORIES} + PHP_EXTENSIONS: ${PHP56_EXTENSIONS} + MORE_EXTENSION_INSTALLER: php56.sh + TZ: "$TZ" + ports: + - "${PHP56_HOST_PORT}:9001" + volumes: + - ${SOURCE_DIR}:/var/www/html/:rw + - ${PHP56_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro + - ${PHP56_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw + - ${PHP56_LOG_DIR}:/var/log/php + restart: always + cap_add: + - SYS_PTRACE + networks: + - default + + mysql: + image: mysql:${MYSQL_VERSION} + ports: + - "${MYSQL_HOST_PORT}:3306" + volumes: + - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro + - ${MYSQL_DATA_DIR}:/var/lib/mysql/:rw + restart: always + environment: + MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}" + TZ: "$TZ" + networks: + - default + + redis: + image: redis:${REDIS_VERSION} + ports: + - "${REDIS_HOST_PORT}:6379" + volumes: + - ${REDIS_CONF_FILE}:/etc/redis.conf:ro + restart: always + entrypoint: ["redis-server", "/etc/redis.conf"] + environment: + TZ: "$TZ" + networks: + - default + + mongodb: + image: mongo:${MONGODB_VERSION} + environment: + MONGO_INITDB_ROOT_USERNAME: "${MONGODB_INITDB_ROOT_USERNAME}" + MONGO_INITDB_ROOT_PASSWORD: "${MONGODB_INITDB_ROOT_PASSWORD}" + TZ: "$TZ" + volumes: + - ${MONGODB_DATA_DIR}:/data/db:rw + - ${MONGODB_DATA_DIR}/mongo_key:/mongo:rw + ports: + - "${MONGODB_HOST_PORT}:27017" + networks: + - default + command: + --auth + + game_2048: + image: alexwhen/docker-2048 + ports: + - "${GAME_2048_HOST_PORT}:80" + restart: always + networks: + - default + + yapi: + build: + context: ./config/yapi/ + args: + YAPI_VERSION: ${YAPI_VERSION} + YAPI_HOST_PORT: ${YAPI_HOST_PORT} + ports: + - "${YAPI_HOST_PORT}:${YAPI_HOST_PORT}" + volumes: + - ${YAPI_CONFIG_FILE}:/home/config.json:rw + - ${YAPI_CONFIG_FILE}:/home/vendors/config.json:rw + - ${YAPI_LOG_DIR}:/home/log + depends_on: + - mongodb + cap_add: + - SYS_PTRACE + restart: always + environment: + TZ: "$TZ" + networks: + - default + + rabbitmq: + image: rabbitmq:${RABBITMQ_VERSION} + ports: + - "${RABBITMQ_HOST_PORT_1}:5672" + - "${RABBITMQ_HOST_PORT_2}:15672" + environment: + RABBITMQ_DEFAULT_USER: "${RABBITMQ_DEFAULT_USER}" + RABBITMQ_DEFAULT_PASS: "${RABBITMQ_DEFAULT_PASS}" + TZ: "$TZ" + logging: + driver: "json-file" + options: + max-size: "200k" + max-file: "10" + restart: always + networks: + - default + + phpmyadmin: + image: phpmyadmin/phpmyadmin:latest + ports: + - "${PHPMYADMIN_HOST_PORT}:80" + volumes: + - /sessions + networks: + - default + environment: + PMA_ARBITRARY: "${PMA_ARBITRARY}" + PMA_HOST: "${PMA_HOST}" + PMA_PORT: "${PMA_PORT}" + TZ: "$TZ" + + phpredisadmin: + image: erikdubbelboer/phpredisadmin:latest + ports: + - "${REDISMYADMIN_HOST_PORT}:80" + networks: + - default + environment: + REDIS_1_HOST: "${REDIS_1_HOST}" + REDIS_1_PORT: "${REDIS_1_PORT}" + REDIS_1_NAME: "${REDIS_1_NAME}" + REDIS_1_AUTH: "${REDIS_1_AUTH}" + ADMIN_USER: "${ADMIN_USER}" + ADMIN_PASS: "${ADMIN_PASS}" + TZ: "$TZ" + + adminmongo: + image: mrvautin/adminmongo + ports: + - "${ADMINMONGO_HOST_PORT}:1234" + environment: + HOST: "${ADMINMONGO_HOST}" + DB_HOST: "${ADMINMONGO_DB_HOST}" + DB_PORT: "${ADMINMONGO_DB_PORT}" + TZ: "$TZ" + networks: + - default + + gogs: + image: 'gogs/gogs:latest' + ports: + - "${GOGS_HOST_PORT_1}:3000" + - "${GOGS_HOST_PORT_2}:22" + volumes: + - ${GOGS_DATA_DIR}:/data + networks: + - default + environment: + TZ: "$TZ" + restart: always + depends_on: + - mysql + +networks: + default: + + diff --git a/docker-compose.yml b/docker-compose.yml index 9ea26d3..191b282 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -229,48 +229,6 @@ services: PMA_PORT: "${PMA_PORT}" TZ: "$TZ" - phpredisadmin: - image: erikdubbelboer/phpredisadmin:latest - ports: - - "${REDISMYADMIN_HOST_PORT}:80" - networks: - - default - environment: - REDIS_1_HOST: "${REDIS_1_HOST}" - REDIS_1_PORT: "${REDIS_1_PORT}" - REDIS_1_NAME: "${REDIS_1_NAME}" - REDIS_1_AUTH: "${REDIS_1_AUTH}" - ADMIN_USER: "${ADMIN_USER}" - ADMIN_PASS: "${ADMIN_PASS}" - TZ: "$TZ" - - adminmongo: - image: mrvautin/adminmongo - ports: - - "${ADMINMONGO_HOST_PORT}:1234" - environment: - HOST: "${ADMINMONGO_HOST}" - DB_HOST: "${ADMINMONGO_DB_HOST}" - DB_PORT: "${ADMINMONGO_DB_PORT}" - TZ: "$TZ" - networks: - - default - - gogs: - image: 'gogs/gogs:latest' - ports: - - "${GOGS_HOST_PORT_1}:3000" - - "${GOGS_HOST_PORT_2}:22" - volumes: - - ${GOGS_DATA_DIR}:/data - networks: - - default - environment: - TZ: "$TZ" - restart: always - depends_on: - - mysql - networks: default: