摘要:后面以为是原因,又排查了版本,最后切换的一个做共享文件夹测试,都是同样一模一样的问题。在中一模样的效果最后我开始排查虚拟器,在换了后,此问题就消失了,同样使用的是两个这虚拟机的挂载。我使用同事机器遇到同样的问题。
为了可追溯,我把question提取出来整理成文章,方便自己以后对问题进行追溯。
我之前一直是Docker ToolBox套装做的docker学习环境,后面直接使用compose构建了许多开发环境和单机生产环境,但是出现过很多莫名其妙的问题。
VirtualBox 使用Boot2Docker共享文件夹开发,js修改后尾部出现一串乱码(和nginx容器都没关系)
Docker-compose.yml
version: "3.0" services: ##基础环境 nginx: image: nginx:1.13.3 volumes: - /etc/localtime:/etc/localtime:ro #网站目录 - ./app:/var/www/html - ./dockerfiles/nginx/conf.d:/etc/nginx/conf.d:ro #日志文件 - ./logs/nginx:/var/log/nginx links: - "php-fpm:php-fpm" ports: - "80:80" command: nginx -g "daemon off;" mysql-db: image: mysql:5.5 #很重要导入到处数据 volumes: - /etc/localtime:/etc/localtime:ro - ./data/mysql:/var/lib/mysql:rw - ./logs/mysql:/var/lib/mysql-logs:rw - ./dockerfiles/mysql/conf.d:/etc/mysql/conf.d:ro environment: MYSQL_ROOT_PASSWORD: zhaojun MYSQL_DATABASE: lottery_api_sale MYSQL_USER: zhaojun MYSQL_PASSWORD: zhaojun ports: - "3306:3306" deploy: restart_policy: condition: any redis-db: image: redis volumes: - ./data/redis:/data - /etc/localtime:/etc/localtime:ro deploy: restart_policy: condition: any php-fpm: build: ./dockerfiles/php/ restart: always environment: TP_APP_DEBUG: "true" volumes: #网站目录 - ./app:/var/www/html:rw #配置文件 - ./dockerfiles/php/php.ini:/usr/local/etc/php/php.ini:ro - ./dockerfiles/php/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro #挂载站点日志 - ./logs/php-fpm:/var/log/php-fpm:rw depends_on: - mysql-db - redis-db links: - mysql-db:mysql-db - redis-db:redis-db command: php-fpm ##附加扩展安装器 composer: image: composer:1.4.2 volumes: - /etc/localtime:/etc/localtime:ro - ./app:/app:rw working_dir: /app/webroot deploy: restart_policy: condition: none command: composer install bower: image: digitallyseamless/nodejs-bower-grunt volumes: - /etc/localtime:/etc/localtime:ro - ./app:/app:rw working_dir: /app/webroot deploy: restart_policy: condition: none command: bower installVirtualBox中修改Js后访问
在webroot/public有一个测试文件
第一次访问,没问题
在修改了index.js后访问出现乱码
1.开始以为是nginx原因,换了很多版本测试排除了nginx原因。
2.后面以为是boot2docker原因,又排查了版本,最后切换vBox的一个ubuntu做共享文件夹测试,都是同样一模一样的问题。
3.ubuntu在Vbox中一模样的效果
最后我开始排查虚拟器,在换了vmware后,此问题就消失了,同样使用的是两个这虚拟机的挂载。
所以排查出来的情况就是Virtualbox和Vmware挂载共享文件的不同造成的,就来请假一下他们有什么不同???
(在我修改了我windows下共享目录的文件后,不管是Virtualbox和vmware里面还是两个虚拟器的操作系统里面docker容器里面得文件都是修改了的vim也能看到)
在virtualbox中的ubuntu中直接vim或者phpstorm修改文件,不会出现这个问题,所以最终就是确定了virtual虚拟机共享文件问题。
2017.07.26 我使用同事PC机器遇到同样的问题。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27005.html
摘要:对于来说,在主机操作系统上运行是绝对必要的。在和中,从主机操作系统中运行可以出现系统通知。你仍然可以在或的虚拟机中成功地运行,但在发出通知时将收到警告错误仅从你的主机操作系统运行。 原文地址: Laravel 5.1 Beauty - Required Software and Components 怎样安装开发 Laravel 5.1 必要的软件: VirtualBox 和 Vagr...
摘要:开始在下部署开发环境着实遍地坑,每遇到一个问题都要去原因再试图解决。该镜像就是已经安装了环境的镜像命名为。在下,期望运行应用的容器中,同样可以执行该命令。 开始 在windows下部署nodejs开发环境着实遍地坑,每遇到一个问题都要去google原因再试图解决。而且如果你想把你写好的应用交给别人跑跑看,他可能同样需要折腾很久才能真正在他的环境下运行起来。被坑了好些时日最终还是放弃,转...
摘要:开始在下部署开发环境着实遍地坑,每遇到一个问题都要去原因再试图解决。该镜像就是已经安装了环境的镜像命名为。在下,期望运行应用的容器中,同样可以执行该命令。 开始 在windows下部署nodejs开发环境着实遍地坑,每遇到一个问题都要去google原因再试图解决。而且如果你想把你写好的应用交给别人跑跑看,他可能同样需要折腾很久才能真正在他的环境下运行起来。被坑了好些时日最终还是放弃,转...
阅读 3105·2021-11-18 10:02
阅读 2617·2021-10-13 09:47
阅读 3033·2021-09-22 15:07
阅读 791·2019-08-30 15:43
阅读 1809·2019-08-30 10:59
阅读 1684·2019-08-29 15:34
阅读 1702·2019-08-29 15:06
阅读 438·2019-08-29 13:28