国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

搭建前端開發(fā)環(huán)境——docker篇

開發(fā) 前端

一、解決痛點(diǎn)

免搭建前端靜態(tài)環(huán)境

分支切換,無需重新啟動編譯(package.json或gulpfile.js文件改變除外)

nginx可自行配置,滿足不同項(xiàng)目的需求

二、前端靜態(tài)搭建思路

基于ubuntu系統(tǒng)環(huán)境,利用nginx靜態(tài)資源服務(wù)器經(jīng)過docker暴露出來的端口進(jìn)行請求轉(zhuǎn)發(fā),這樣后端的開發(fā)機(jī)上面只需要安裝docker就能夠訪問前端的靜態(tài)資源,不需要訪問前端開發(fā)機(jī)。

三、具體解決方案

  1. 用 Kitematic 客戶端實(shí)現(xiàn)跨平臺運(yùn)行 Docker
  2. 用端口映射預(yù)覽 Docker 里的文件
  3. 用 nginx + 端口映射編輯 Docker 里的文件
  4. 配置一個(gè)通用的 Image(鏡像)

這里面有幾個(gè)概念需要先解釋一下。

首先,Kitematic 是一個(gè) Docker GUI,配置非常方便。

其次,Docker 中最重要的三個(gè)概念是 Container(容器)、Image(鏡像)和 Volume(卷)。

Image 是靜態(tài)內(nèi)容,如果你要把某個(gè) Image 跑起來,那就需要一個(gè) Container。這里面有一點(diǎn)很重要:Container 中所做的改動不會保存到 Image。如果需要保存改動,很簡單,執(zhí)行 docker commit ContainerID TAG 即可,類似于 git 的 commit

如果不想使用commit仍想保存文件,docker 也提供了一個(gè)方法:使用 Volume。

Volume 就是專門存放數(shù)據(jù)的文件夾,啟動 Image 時(shí)可以掛載一個(gè)或多個(gè) Volume,Volume 中的數(shù)據(jù)獨(dú)立于 Image,重啟不會丟失。

***說端口映射。前面說過,Docker 可以看做一個(gè)虛擬機(jī),你的所有文件都在里面。如果你在 Container 中運(yùn)行一個(gè)服務(wù)器,監(jiān)聽127.0.0.1:8000,從你自己的機(jī)器上直接訪問 http://127.0.0.1:8000 是不行的,因?yàn)?Container 和你的機(jī)器是兩個(gè)不同的環(huán)境。

那怎么辦呢?我們先來看一個(gè)大家都熟悉的問題。

日常開發(fā)中我們經(jīng)常需要讓同事預(yù)覽網(wǎng)頁效果,常用的方法是監(jiān)聽 0.0.0.0:8000,然后讓同事連接同一個(gè)局域網(wǎng),訪問 http://你的機(jī)器IP:8000 即可。

Container 的問題非常相似,只不過我們自己變成了“同事”,需要訪問 Docker 內(nèi)部的網(wǎng)頁。看起來只要拿到 Container 的 IP 問題就解決了。

幸運(yùn)的是,Container 確實(shí)有 IP。

通常情況下這個(gè) IP 是 192.168.99.100(利用 Kitematic 啟動 docker),只能從 Container 的宿主機(jī)(也就是運(yùn)行 Docker 的機(jī)器)訪問。不過 Container 的情況有些特別,它只關(guān)聯(lián)了 IP,沒有關(guān)聯(lián)端口。因此如果想要訪問 Container 內(nèi)部的端口(比如 8000),你需要手動配置端口映射,把 Container 內(nèi)部的端口映射到 IP 上。

四、動手

1. 下載Docker Toolbox

Docker Toolbox 支持 Windows 和 Mac OS,可以到官網(wǎng)下載安裝,耗時(shí)較嚴(yán)重,建議找直接找下下好的包。

安裝完畢之后打開 Kitematic,注冊一個(gè) Docker Hub 賬號,方便之后的操作。

2. 下載Ubuntu鏡像

在 Katematic 里面的搜索 Ubuntu

選擇第二排***個(gè),點(diǎn)擊 create 按鈕。

這里插一句,fuck GFW ,100M的文件能花兩個(gè)小時(shí)下載,也是醉了。

下載完成后,在 Kitematic 左側(cè)的 Container 列表中選擇 ubuntu,然后點(diǎn)擊上方的“START”按鈕執(zhí)行。點(diǎn)擊“EXEC”可以進(jìn)入系統(tǒng)命令行,輸入 su 開啟 root 權(quán)限。

這個(gè)時(shí)候,可以點(diǎn)擊 Kitematic 右上角的“Settings”,點(diǎn)擊“Ports”,你會看到一個(gè) IP 地址,通常情況下是 192.168.99.100。打開自己的電腦的命令行,輸入 ping 192.168.99.100,應(yīng)該是通的。

3. 常規(guī)初始化工作

受夠了渣下載速度,決定換源。采用的是中科大的源,你也可以嘗試阿里云的源,速度都不錯(cuò)~

  1. sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list 
  2. apt-get update  

先安裝必要的編輯器以及路徑補(bǔ)全:

  1. apt-get install vim bash-completion 

其它的工具可以自行添加

4. 安裝nginx以及nvm

nvm是一個(gè) node 版本管理器,利用它可以進(jìn)行多個(gè)node版本的管理。

在開啟root權(quán)限的終端輸入:

  1. apt-get update 
  2. apt-get install nginx 
  3. apt-get install curl 
  4. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash 
  5. source ~/.bashrc 
  6. nvm install node  

安裝完成不忙做nginx配置,我們需要等其掛載數(shù)據(jù)卷之后,再做nginx配置文件修改。

nvm可以采用國內(nèi)的淘寶源,速度比較快。

5. 導(dǎo)出image

在 mac 平臺上面可以直接操作 Katematic 進(jìn)行端口映射配置,但在 windows 平臺上面只能通過 命令行 進(jìn)行配置。掛載卷目前只能通過命令行進(jìn)行配置。基于這種情況,我們統(tǒng)一利用命令行來配置。

首先,commit。點(diǎn)擊 Kitematic 左下角 “DOCKER CLI”,執(zhí)行:

  1. docker ps 

類似于如下的輸出:

  1. ➜  ~ docker ps 
  2. CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                                      NAMES 
  3. b357a78dc95e        f753707788c5        "/bin/bash"         3 days ago          Up 4 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:8088->8088/tcp   iwjwdocker  

copy 出 container id,這里是b357a78dc95e。

然后執(zhí)行:

  1. docker commit b357a78dc95e username/imagename 

接下來,導(dǎo)出Image

  1. docker export b357a78dc95e -o ubuntu.tar 

查看你的個(gè)人目錄。mac上面就是 /Users/你的用戶名,就能找到ubuntu.tar文件。

接下來,我們會新建一個(gè) image,在這個(gè) image 上面進(jìn)行整個(gè)的配置。

6. 配置端口映射以及掛載卷

配置流程:

  1. 在 Kitematic 中點(diǎn)擊左下角“DOCKER CLI”打開 Docker 命令行
  2. 輸入命令docker import,從文件夾中直接把 ubuntu 文件拖拽到命令行中(注意 ubuntu 文件路徑中不能有中文,如果有,先把文件移動到另一個(gè)純英文路徑的文件夾中)
  3. 輸入命令docker images,復(fù)制出鏡像的 IMAGE ID(類似b357a78dc95e)
  4. 最重要的一步,輸入命令: 
  1. docker run -t -i --privileged -p 80:80/tcp \ 
  2.     -p 443:443/tcp -p 8088:8088/tcp \ 
  3.     -p 8000:8000/tcp -p 8080:8080/tcp -d --name iwjw \ 
  4.     -v /Users/aaaa/test:/static \ 
  5.     -v /Users/aaa/nginxconf:/etc/nginx \ 
  6.     -v /Users/aaa/www:/www  IMAGEID \ 
  7.     /bin/bash  

解釋一下上面的命令行:

  • -p 80:80/tcp:docker基于 TCP 協(xié)議暴露 80 端口
  • --name iwjw:在 Katematic 顯示這個(gè) image 的名稱為 iwjw
  • -v /Users/aaaa/test:/static:將/Users/aaaa/test這個(gè)文件夾掛載到 docker 內(nèi)Ubuntu系統(tǒng)的/static文件夾。簡單說來,就是在docker命令行內(nèi) 進(jìn)入 /static文件夾,能訪問到宿主機(jī)(本人電腦)中的/Users/aaaa/test文件夾。
  • 注意:掛載/Users/aaaa/test這個(gè)文件夾是用來存放 靜態(tài)資源代碼,掛載/Users/aaa/nginxconf是用來編寫nginx配置文件的,掛載/Users/aaa/www可以用來存放一些自動化腳本

7. 根據(jù)自己的項(xiàng)目進(jìn)行個(gè)性化配置

個(gè)性化配置:

  1. nginx
  2. 運(yùn)行腳本編寫,可以考慮放在/www文件夾里進(jìn)行管理。

shell腳本類似如下:

  1. function init() { 
  2.   nginx 
  3.   npm install gulp -g 
  4.   npm install 
  5. # 打開命令行提示 
  6.  
  7. echo " -aaainit 進(jìn)入 aaa 文件夾,并初始化aaa項(xiàng)目" 
  8. echo " -aaa 進(jìn)入 aaa 文件夾,并初始化aaa項(xiàng)目" 
  9. echo " -h 幫助" 
  10.  
  11. while [ -n "$1" ] 
  12. do 
  13.     case "$1" in 
  14.     "-aaainit"
  15.         echo "進(jìn)入 aaa 文件夾,并初始化運(yùn)行 aaa 項(xiàng)目" 
  16.  
  17.         cd /static/aaa 
  18.         init 
  19.         npm run start 
  20.  
  21.         ;; 
  22.     "-aaa"
  23.         echo "進(jìn)入 aaa 文件夾,并運(yùn)行 aaa 項(xiàng)目" 
  24.  
  25.         cd /static/aaa 
  26.         npm run start 
  27.  
  28.         ;; 
  29.  
  30.     "-h"
  31.         echo " -aaainit 進(jìn)入 aaa 文件夾,并初始化aaa項(xiàng)目" 
  32.         echo " -aaa 進(jìn)入 aaa 文件夾,并初始化aaa項(xiàng)目" 
  33.         echo " -h 幫助" 
  34.         ;; 
  35.     esac 
  36.     shift 
  37. done  

五、結(jié)語

基本上,完成上面的docker配置,后端就可以自己在前端代碼的分支進(jìn)行自己接口的測試了。

引入docker之后,可以大大減少前后端聯(lián)調(diào)的時(shí)間,從而加快開發(fā)進(jìn)度。

這篇文章是在基于梁杰的這篇用 Docker 快速配置前端開發(fā)環(huán)境進(jìn)行的開發(fā),建議大家首先閱讀這篇文章。

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2016-09-08 16:04:59

JavaDocker前端

2023-05-12 14:52:11

鴻蒙操作系統(tǒng)

2022-06-24 10:11:15

DockerLinux

2015-01-05 14:16:16

DockerFig自動化容器編排

2015-12-30 13:58:00

DockerGit開發(fā)環(huán)境

2013-07-23 06:11:44

Android開發(fā)學(xué)習(xí)Android開發(fā)環(huán)境Java

2016-03-02 09:50:09

docker測試環(huán)境

2024-03-26 15:19:36

鴻蒙應(yīng)用開發(fā)開發(fā)工具

2025-02-26 12:06:07

2010-04-03 11:30:15

Widget開發(fā)

2011-08-02 17:37:01

IPhone開發(fā) 環(huán)境搭建

2017-09-11 14:35:34

編輯器開發(fā)環(huán)境React

2017-03-02 15:33:24

Android Thi環(huán)境搭建

2011-05-26 10:33:26

Android開發(fā)

2023-06-13 15:00:54

環(huán)境搭建鴻蒙

2017-07-13 14:26:11

WindowsLinux前端

2009-07-03 16:56:37

JSP開發(fā)環(huán)境

2011-07-08 16:02:24

iphone

2011-08-25 15:02:17

Lua環(huán)境搭建EditPlus

2023-02-14 08:29:08

MySQLDocker
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

欧美一区二区三区高清视频| 精品国产无码在线| 欧日韩在线观看| 国产精品二区三区四区| 精品视频在线观看一区二区| 免费观看羞羞视频网站| 精品福利视频导航大全| 91p九色成人| 嫩草在线视频| 亚洲最新无码中文字幕久久| 国产videos久久| 国产一区二区三区日韩| 一区二区三区精品| 亚洲第一免费网站| 国产精品久久久久久av| 欧美激情论坛| 4kfree性满足欧美hd18| 污视频在线免费观看网站| 自拍自偷一区二区三区| 国产传媒欧美日韩成人| 欧美专区日韩专区| 久久久精品免费视频| 国产精品丝袜一区二区三区| 国产欧美中文字幕| 欧美女人性生活视频| 国产美女在线观看| 激情五月综合婷婷| 国产成人免费视频一区| 91精品国产欧美日韩| 91欧美激情另类亚洲| 在线免费观看视频黄| 日韩免费小视频| 国产中文字幕一区二区三区| 91在线精品秘密一区二区| 欧美喷水一区二区| 色妞在线综合亚洲欧美| 国产一区在线免费观看| 成人影院在线观看视频| 不卡视频观看| 亚洲国产激情| 精品福利一区二区| 77777亚洲午夜久久多人| 成人在线观看a| 国产深夜视频在线观看| 亚洲啪啪91| 日韩欧美国产高清91| 97福利一区二区| 嫩草av久久伊人妇女超级a| 日本电影欧美片| 日韩国产欧美一区二区| 亚洲国产精品一区二区www| 中文字幕免费国产精品| 国产在线观看一区| 制服丝袜中文字幕在线| 一本色道久久综合亚洲精品不| 日韩欧美亚洲成人| 久久久在线视频| 欧美极品少妇无套实战| 在线一区视频观看| 国产亚洲欧美一级| 欧美激情在线观看| 黄色在线视频网| 国产成人影院| 成人禁用看黄a在线| 欧美香蕉大胸在线视频观看 | 久久精品五月婷婷| 高端美女服务在线视频播放| 国产成人av在线影院| 欧美巨乳美女视频| 欧美在线一卡| 国产一区二区三区在线看麻豆| 欧美日本高清一区| 成年人网站国产| 竹菊久久久久久久| 亚洲国产视频一区| 久久婷婷国产综合尤物精品| 女人天堂av在线播放| 日韩高清一区二区| 日韩一级完整毛片| 亚洲精品国产系列| 国产精品亚洲四区在线观看| 国产精品久久久99| 青青草99啪国产免费| 东北一级毛片| 青青国产91久久久久久 | 日本天堂影院在线视频| 老汉av免费一区二区三区| 一区二区三区久久精品| 国产va在线观看| 国产日韩综合| 久久久精品视频在线观看| 亚洲午夜精品国产| 欧美高清hd| 色悠悠亚洲一区二区| 116极品美女午夜一级| 亚洲综合日韩| 色婷婷久久av| 欧美videosex性欧美黑吊| 成人av高清在线| 超碰国产精品久久国产精品99| 55av亚洲| 国产精品不卡在线| 无码免费一区二区三区免费播放| 久久精品色综合| 日韩久久久精品| 国产又猛又黄的视频| 日韩黄色大片网站| 精品福利二区三区| 四虎永久在线精品无码视频| 中文字幕一区二区av| 精品国产自在久精品国产| 欧美 日韩精品| 亚洲一区欧美| 欧美亚洲日本网站| 青青国产精品| 欧美在线免费播放| 婷婷丁香六月天| 最新国产精品久久精品| 男的插女的下面视频| 亚洲国产二区| 国产精品亚洲网站| 香蕉成人在线| 精品毛片乱码1区2区3区| 岛国大片在线播放| 57pao成人永久免费| 色哟哟欧美精品| 在线色视频观看| 久久精品一区蜜桃臀影院| www.-级毛片线天内射视视| 亚洲欧美综合久久久| 久久久国产一区二区| 三区在线观看| 欧美视频一区在线| 色视频免费在线观看| 一色桃子久久精品亚洲| 男女人搞j网站| ㊣最新国产の精品bt伙计久久| 亚洲高清免费在线观看| 日本一区二区在线不卡| 亚洲中文字幕无码一区二区三区| 北条麻妃一区二区三区| 亚洲区成人777777精品| 91丨porny丨国产入口| 这里只有精品66| www.日韩精品| 天堂av在线网站| 亚洲午夜成aⅴ人片| 国产午夜在线视频| 欧美日韩在线播放一区| 黄色网址在线免费观看| 亚洲色图18p| 成人av综合网| 久久琪琪电影院| 日韩欧美中字| 免费毛片一区二区三区久久久| 亚洲激情一区| aa成人免费视频| 精品国产一区一区二区三亚瑟| 欧美大片网站在线观看| 蜜桃一区二区| 青娱乐一区二区| 99av国产精品欲麻豆| 国产一区在线观| 免费成人美女在线观看.| 成人在线观看黄| 中文字幕在线不卡国产视频| 韩国中文字幕2020精品| 日韩麻豆第一页| 91综合久久一区二区| 91丨九色丨国产| 国产一二精品视频| 精品少妇一区二区三区在线| 成人美女视频在线观看18| av动漫在线免费观看| 91视频免费看| 视频免费观看| 色噜噜狠狠色综合网图区| 色777狠狠狠综合伊人| 欧美性受黑人性爽| 日本韩国欧美在线| 日韩成人久久| 色播亚洲婷婷| 久久众筹精品私拍模特| 免费网站www在线观看| 亚洲国产精品一区二区www| 色呦呦在线免费观看| 日韩av手机在线| 久久综合国产精品| 黄色大片在线看| 理论片在线不卡免费观看| 激情综合电影网| 日本福利视频| 中文亚洲视频在线| 国产精品一区毛片| 日产国产精品精品a∨| 亚洲影视在线播放| 久久久久观看| 91av资源网| www.99久久热国产日韩欧美.com| 日韩中文字幕亚洲一区二区va在线|