摘要:它使用作為其開發(fā)語言。關(guān)于為了避免環(huán)境搭建污染我的,我選擇將我的開發(fā)環(huán)境限制在一個(gè)容器中,同時(shí)避免了自制軟件和不可逆的本地安裝程序。我們將使用來構(gòu)建一個(gè)新的鏡像創(chuàng)建一個(gè)新的。下一篇文章將詳細(xì)介紹如何用搭建真正用于生產(chǎn)環(huán)境的項(xiàng)目。
我想創(chuàng)建一個(gè)簡單的漸進(jìn)式Web應(yīng)用程序(PWA),在移動(dòng)設(shè)備上運(yùn)行,接收用戶數(shù)據(jù)并將其保存到后臺。
我選擇了Ionic 2(忽略了它創(chuàng)建本地應(yīng)用程序的能力),因?yàn)樗贏ngular 2。它使用TypeScript作為其開發(fā)語言。如果你剛開始接觸Angular(就像我一樣),請前往Code School的Angular 2 Accellerating。深入了解。
在安裝Ionic 2之前,您需要Node.js,因?yàn)樗荌onic 2所必需的。
關(guān)于Node.js為了避免環(huán)境搭建污染我的MacBook,我選擇將我的開發(fā)環(huán)境限制在一個(gè)Docker容器中,同時(shí)避免了自制軟件和不可逆的本地安裝程序。
這將為您提供一個(gè)虛擬環(huán)境,可以隨身攜帶,交給同事,甚至發(fā)布給任何人在幾分鐘內(nèi)開始使用。
這不是教程。你將不得不親自訪問這些鏈接,以便掌握,了解你要怎么做以及為什么這樣做。我在Node.js開發(fā)者的Docker入門中松散地遵循了Heitor的秘訣,跳過了Express,轉(zhuǎn)而使用Ionic 2,而且忽略了任何被棄用的(比如Boot2Docker)的東西。
?安裝
Docker for Mac,入門指南:只需將Docker應(yīng)用程序拖到應(yīng)用程序文件夾即可。Windows用戶應(yīng)該轉(zhuǎn)而使用Docker for Windows,Linux用戶可以在Linux上安裝Docker Engine。
然后打開終端并進(jìn)入
docker run hello-world
為了驗(yàn)證你的安裝是否正確,你需要執(zhí)行兩個(gè)步驟,下載一個(gè)公共Docker鏡像到你的計(jì)算機(jī),實(shí)例化一個(gè)容器并運(yùn)行一個(gè)Hello World應(yīng)用程序。
Docker就像引入到輕量級虛擬機(jī)的依賴注入,創(chuàng)建快照(即容器),并將它們導(dǎo)出為新的虛擬機(jī)(即Docker鏡像)。它有一個(gè)基礎(chǔ)設(shè)施來分享完整的解決方案。
?你可選擇安裝 Kitematic
一個(gè)用于管理Docker容器的可選GUI(Docker可視化管理工具)。這既不需要,也不是非常有用,但是對于Docker新手來說,可以方便地探索Docker的全部內(nèi)容。
windows上Kitematic的安裝和使用可以參考如何在Windows上通過Kitematic使用Docker?
?安裝Ubuntu和Node.js.
Node.js有一個(gè)基于Debian的Docker鏡像,但是我遵循Heitor的路徑,它更接近于模仿真實(shí)的Linux安裝,并且手動(dòng)安裝所需的所有東西。
稍后我將介紹一種自動(dòng)配置環(huán)境的方法。跳轉(zhuǎn)到介紹Dockerfiles。
docker pull ubuntu docker run ubuntu /bin/echo "Hello World" docker run -i -t ubuntu
您現(xiàn)在已經(jīng)在一個(gè)Ubuntu的殼里面了。嘗試ls -la并安裝Node.js和npm:
ls -la apt-get update apt-get install curl curl -sL https://deb.nodesource.com/setup_8.x | bash - # 目前nodejs穩(wěn)定的版本是8.94,如果需要其他版本可以修改上面那行代碼中的setup_8.x apt-get install nodejs node -v關(guān)于ionic 2
? 安裝Ionic 2
npm install -g ionic exit
現(xiàn)在將容器保存為一個(gè)新的鏡像:
# Get your CONTAINER_ID docker ps -a # Save your container as a new image docker commit -a "YOUR_NAME" -m "ionic2 devjump" CONTAINER_ID my-ionic2:0.1 # 上面代碼,用-a指定鏡像作者,-m指定行創(chuàng)建的鏡像的提交信息,接著是容器ID、目標(biāo)鏡像倉庫、鏡像名。 docker tag my-ionic2:0.1 my-ionic2:latest
立即進(jìn)入一個(gè)運(yùn)行你的Ionic 2安裝的新容器:
docker run -i -t -p 8100:8100 -p 35729:35729 my-ionic2
創(chuàng)建并開始您的第一個(gè)Ionic 2應(yīng)用程序:
ionic start cutePuppyPics sidemenu cd cutePuppyPics # Would you like to integrate your new app with Cordova to target native iOS and Android? No # ionic搭建pwa不需要cordova ionic serve --all # without the --all Safari wouldn"t connect to Ionic
現(xiàn)在轉(zhuǎn)到Safari或Chrome并打開http:// localhost:8100:
介紹Dockerfiles和已安裝的卷
大功告成!您可能很想嘗試開始開發(fā)您的應(yīng)用程序 - 但是您不應(yīng)該這么做!你的應(yīng)用程序的來源仍然是Docker容器。一旦容器消失了,你的資源也將消失。
如果在你的Docker映像中丟失了任何東西或者必須改變它,那么很可能你將不得不從頭開始,繁瑣地復(fù)制粘貼和重復(fù)運(yùn)行所有的語句。
我們將使用Dockerfile 來構(gòu)建一個(gè)新的Docker鏡像:
??創(chuàng)建一個(gè)新的Dockerfile。注意:在Docker Hub的自動(dòng)構(gòu)建中,Dockerfile這個(gè)例子不會(huì)再收到任何提交。
下一篇文章將詳細(xì)介紹如何用Dockerfile搭建真正用于生產(chǎn)環(huán)境的項(xiàng)目。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28017.html
摘要:它使用作為其開發(fā)語言。關(guān)于為了避免環(huán)境搭建污染我的,我選擇將我的開發(fā)環(huán)境限制在一個(gè)容器中,同時(shí)避免了自制軟件和不可逆的本地安裝程序。我們將使用來構(gòu)建一個(gè)新的鏡像創(chuàng)建一個(gè)新的。下一篇文章將詳細(xì)介紹如何用搭建真正用于生產(chǎn)環(huán)境的項(xiàng)目。 我想創(chuàng)建一個(gè)簡單的漸進(jìn)式Web應(yīng)用程序(PWA),在移動(dòng)設(shè)備上運(yùn)行,接收用戶數(shù)據(jù)并將其保存到后臺。 我選擇了Ionic 2(忽略了它創(chuàng)建本地應(yīng)用程序的能力),...
摘要:參照更新你的文件刪除文件夾和文件參照更新文件重命名并重新定位到移動(dòng)文件從到比如等等將你定義的屬性移動(dòng)到文件修正你的圖片路徑例如之前是現(xiàn)在應(yīng)該是組件內(nèi)與模版相關(guān)的變量,修改關(guān)鍵字為。 ps:參照官方文檔進(jìn)行整理。填了一些坑供參考 :) 基于Angular2的正式發(fā)布,Ionic2也進(jìn)入了RC版本。但是因?yàn)榻Y(jié)構(gòu)和語法變動(dòng),使得從beta到RC不能平滑升級。 官方給出了2種升級方式:1.創(chuàng)建...
閱讀 1496·2023-04-26 01:28
閱讀 3315·2021-11-22 13:53
閱讀 1420·2021-09-04 16:40
閱讀 3189·2019-08-30 15:55
閱讀 2677·2019-08-30 15:54
閱讀 2489·2019-08-30 13:47
閱讀 3368·2019-08-30 11:27
閱讀 1146·2019-08-29 13:21