
Docker Volume 權(quán)限管理
由于沒有容器分層文件系統(tǒng)帶來的性能損失,本地文件卷非常適合一些需要高性能數(shù)據(jù)訪問的場景,比如MySQL的數(shù)據(jù)庫文件的存儲。同時Docker支持通過volume plugin實現(xiàn)不同類型的數(shù)據(jù)卷,可以更加靈活解決不同應(yīng)用負(fù)載的存儲需求

由于沒有容器分層文件系統(tǒng)帶來的性能損失,本地文件卷非常適合一些需要高性能數(shù)據(jù)訪問的場景,比如MySQL的數(shù)據(jù)庫文件的存儲。同時Docker支持通過volume plugin實現(xiàn)不同類型的數(shù)據(jù)卷,可以更加靈活解決不同應(yīng)用負(fù)載的存儲需求

Compose 通過一個配置文件來管理多個Docker容器,在配置文件中,所有的容器通過services來定義,然后使用docker-compose腳本來啟動,停止和重啟應(yīng)用,和應(yīng)用中的服務(wù)以及所有依賴服務(wù)的容器,非常適合組合使用多個容器進(jìn)行開發(fā)的場景

MongoDB是當(dāng)前最流行的Nosql數(shù)據(jù)庫之一。MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案

服務(wù)節(jié)點:三個manager節(jié)點,一個worker節(jié)點。manager需要占用更多的資源,manager配置盡量高一些。swarm的manager節(jié)點的容錯率是 (N-1)/2 。N是manager節(jié)點數(shù)

我們將應(yīng)用以Docker容器的方式部署到服務(wù)器上的時候,通常需要考慮兩個方面的的問題:網(wǎng)絡(luò)和存儲。網(wǎng)絡(luò)方面,有些應(yīng)用需要占用端口,而其中一部分應(yīng)用甚至需要對外提供訪問

數(shù)據(jù)卷(Data Volumes):容器內(nèi)數(shù)據(jù)直接映射到本地主機(jī)環(huán)境;如何在容器內(nèi)創(chuàng)建數(shù)據(jù)卷,并且把本地的目錄或文件掛載到容器內(nèi)的數(shù)據(jù)卷中

some-mysql 指定了該容器的名字,my-secret-pw 指定了 root 用戶的密碼,tag 參數(shù)指定了你想要的 MySQL 版本。這樣數(shù)據(jù)是沒有持久化的,所以在啟動參數(shù)中需要掛載本地目錄

運(yùn)行鏡像docker run -it gliderlabs/alpine運(yùn)行后可以看到里面有基本的linux文件系統(tǒng),這里不做演示,有興趣者可自行嘗試。接下來,根據(jù)自己的需要可以繼續(xù)安裝php相關(guān)擴(kuò)展包,或者其他linux擴(kuò)展包。

項目中會用到node做中間層,部署node則是用到了docker,在這里總結(jié)、記錄下部署要點和步驟;關(guān)于docker的介紹和安裝這里就不贅述了,網(wǎng)上也有很多相關(guān)的教程和文章了,需要可自行搜索查看

輸入命令 docker push lilywang711/web 就可將剛才構(gòu)建好的鏡像上傳到docker hub里面,方便等會兒我們在服務(wù)端拉取鏡像。如果是有多個項目需要部署,那就按照以上步驟重復(fù)來就行,有多少個項目就構(gòu)建多少個鏡像