摘要:后面以為是原因,又排查了版本,最后切換的一個做共享文件夾測試,都是同樣一模一樣的問題。在中一模樣的效果最后我開始排查虛擬器,在換了后,此問題就消失了,同樣使用的是兩個這虛擬機的掛載。我使用同事機器遇到同樣的問題。
為了可追溯,我把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機器遇到同樣的問題。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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