# Windows建立Docker的Laravel伺服器 >Docker練習以及建立一個不汙染作業系統的開發環境,的簡單紀錄。 ## 環境介紹 - Windows10 - 中華電信H660WM ## Docker安裝 [下載docker的安裝檔案](https://hub.docker.com/editions/community/docker-ce-desktop-windows)  >確認是否有開啟Hyper-V ## 使用Laradock來建置環境 [Laradock](https://laradock.io/)  我是使用 所有專案共用一個 Laradock 檔案結構如下 \+ Laradock \+ ProjectA \+ ProjectB  ### 下載laradock檔案 >有2種方法 >>直接使用GIT直接拉取 >>1.開啟DOS切換至想要存放的位子(我自己是放在J槽) >> >>git clone https://github.com/laradock/laradock.git Laradock > > >>直接去[https://github.com/laradock/laradock](https://github.com/laradock/laradock) >> >>下載後解壓縮到Laradock內效果會跟GIT拉取一樣 > >完成後的Laradock資料夾 > ### Laradock環境設定檔 將laradock資料夾中的複製env-example更名為.env  或是直接使用指令 > cp env-example .env ### 啟用Laradock的docker container > docker-compose up -d nginx mysql workspace  第一次啟動時會下載與安裝images會花比較久的時間 完成後會出現  就完成了 ### 設定Laradock 如上方的資料夾結構建立 \+ Laradock \+ webtest 接著打開laradock中的.env  將APP_CODE_PATH_HOST修改為../testweb/存檔後離開  ### 進入Workspace建立Laravel專案 進入Workspace中 > docker-compose exec workspace bash >會看到 >登入後預設的工作目錄是在/var/www底下,而裡面的內容就是我們本機/webtest的內容。 建立Laravel專案 >composer create-project --prefer-dist laravel/laravel mylaravel >--prefer-dist 會從Github上下載.zip壓縮包。 [laravel/laravel](https://github.com/laravel/laravel) >mylaravel 建立的專案名稱 >執行後會開始下載,中間如果出現 >請到`https://github.com/settings/tokens`建立一個token(不用做任何設定直接到最下面產生Token) >會得到一組token把它複製起來直接在workspace上右鍵貼上(直接右鍵就會貼上了 他不會顯示) >執行完後再等一下就完成了 > >此時webtest終究會出現剛剛的專案了 >輸入Exit離開回到DOS ### 建立Site 將新建的專案設定成一個 Nginx 的虛擬站台。使用Laradock 提供的 Nginx 站台樣板進行設定。 >開啟資料夾 laradock\nginx\sites >複製laravel.conf.example更名為ecommerce.conf >修改root是路徑 >修改server_name是站台的網址 (我是想要直接建立一個可以外部瀏覽的環境就直接使用實體IP) > >完成修改後儲存須重啟容器(因剛剛有修改設定) >>docker-compose down //Stop + Remove >>docker-compose up -d nginx mysql workspace //直接使用up會自動幫你build  ### 網路設定 >在此階段如上一步使用server_name的是網址(ex:webtest.com),只要在windows設定hosts file >>C:\Windows\System32\drivers\etc 中的hosts文件加入`127.0.0.1 webtest.com` >>就可以在瀏覽器網址列上輸入webtest.com就會看到了 但我想要讓外部的使用者也可以連線到WebServer所以還需要再多做中華電信H660WM的設定,在瀏覽器中  輸入網址192.168.1.1會看到登入介面中華預設 >帳號:cht >密碼:60wm+MAC後4位(ex:60wm000e MAC是0A-00-27-00-00-0E)都輸入小寫 登入後就會看到設備的資訊 點選左邊的防火牆設定-NAT  將NAT Loopback開啟 >Original SIP Add/Mask這邊填寫你伺服器的IP和遮罩, >假設IP是192.168.1.100 MASK是255.255.255.0,那格子就填寫192.168.1.100/24 >Original DIP Address這邊填寫WAN1 PPPOE取得的IP >Original Dst Port就填寫你伺服器開的PORT >Translated DIP Address填寫你伺服器的IP >Translated Port填Original Dst Port的資料  >套用後進入端口轉發設定轉發到將808轉發80port > >套用後就完成了 ### 輸入你設定的實體IP:808後即可看到結果  參考資料 --- - [Docker建置laravel環境](https://medium.com/@ms0680146/docker%E5%BB%BA%E7%BD%AElaravel%E7%92%B0%E5%A2%83-windows-636460c2ecb7) - [laradock文件](https://laradock.io/introduction/) - [中華電信的H660W的DDNS搭配Port Forwarding設定](https://www.mobile01.com/topicdetail.php?f=110&t=5442356&p=2) - [解决使用 Composer 的时候提示输入Token](https://getyii.com/topic/32) ###### tags: `Docker` `laradock` `H660WM`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up