Docker與FastDFS如何安裝和使用

Docker與FastDFS如何安裝和使用?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)專注于桐柏網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供桐柏營銷型網(wǎng)站建設(shè),桐柏網(wǎng)站制作、桐柏網(wǎng)頁設(shè)計(jì)、桐柏網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造桐柏網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供桐柏網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

Docker特點(diǎn)

1)上手快

用戶只需要幾分鐘,就可以把自己的程序“Docker 化”。Docker 依賴于“寫時(shí)復(fù)制” (copy-on-write)模型,使修改應(yīng)用程序也非常迅速,可以說達(dá)到“隨心所致,代碼即改” 的境界。

隨后,就可以創(chuàng)建容器來運(yùn)行應(yīng)用程序了。大多數(shù) Docker 容器只需要不到 1 秒中即可 啟動(dòng)。由于去除了管理程序的開銷,Docker 容器擁有很高的性能,同時(shí)同一臺(tái)宿主機(jī)中也 可以運(yùn)行更多的容器,使用戶盡可能的充分利用系統(tǒng)資源。

2)職責(zé)的邏輯分類

使用 Docker,開發(fā)人員只需要關(guān)心容器中運(yùn)行的應(yīng)用程序,而運(yùn)維人員只需要關(guān)心如 何管理容器。Docker 設(shè)計(jì)的目的就是要加強(qiáng)開發(fā)人員寫代碼的開發(fā)環(huán)境與應(yīng)用程序要部署 的生產(chǎn)環(huán)境一致性。從而降低那種“開發(fā)時(shí)一切正常,肯定是運(yùn)維的問題(測試環(huán)境都是正 常的,上線后出了問題就歸結(jié)為肯定是運(yùn)維的問題)”

3)快速高效的開發(fā)生命周期

Docker 的目標(biāo)之一就是縮短代碼從開發(fā)、測試到部署、上線運(yùn)行的周期,讓你的應(yīng)用 程序具備可移植性,易于構(gòu)建,并易于協(xié)作。(通俗一點(diǎn)說,Docker 就像一個(gè)盒子,里面 可以裝很多物件,如果需要這些物件的可以直接將該大盒子拿走,而不需要從該盒子中一件 件的取。)

4)鼓勵(lì)使用面向服務(wù)的架構(gòu)

Docker 還鼓勵(lì)面向服務(wù)的體系結(jié)構(gòu)和微服務(wù)架構(gòu)。Docker 推薦單個(gè)容器只運(yùn)行一個(gè)應(yīng) 用程序或進(jìn)程,這樣就形成了一個(gè)分布式的應(yīng)用程序模型,在這種模型下,應(yīng)用程序或者服 務(wù)都可以表示為一系列內(nèi)部互聯(lián)的容器,從而使分布式部署應(yīng)用程序,擴(kuò)展或調(diào)試應(yīng)用程序 都變得非常簡單,同時(shí)也提高了程序的內(nèi)省性。(當(dāng)然,可以在一個(gè)容器中運(yùn)行多個(gè)應(yīng)用程 序)

使用Docker做什么

容器提供了隔離性,容器可以為各種測試提供很好的沙盒環(huán)境。并且,容器本

身就具有“標(biāo)準(zhǔn)性”的特征,非常適合為服務(wù)創(chuàng)建構(gòu)建塊。Docker 的一些應(yīng)用場景如下:

  • 加速本地開發(fā)和構(gòu)建流程,使其更加高效、更加輕量化。本地開發(fā)人員可以構(gòu)建、 運(yùn)行并分享 Docker 容器。容器可以在開發(fā)環(huán)境中構(gòu)建,然后輕松的提交到測試環(huán)境中,并 最終進(jìn)入生產(chǎn)環(huán)境。

  • 能夠讓獨(dú)立的服務(wù)或應(yīng)用程序在不同的環(huán)境中,得到相同的運(yùn)行結(jié)果。這一點(diǎn)在 面向服務(wù)的架構(gòu)和重度依賴微型服務(wù)的部署由其實(shí)用。

  • 用 Docker 創(chuàng)建隔離的環(huán)境來進(jìn)行測試。例如,用 Jenkins CI 這樣的持續(xù)集成工具 啟動(dòng)一個(gè)用于測試的容器。

  • Docker 可以讓開發(fā)者先在本機(jī)上構(gòu)建一個(gè)復(fù)雜的程序或架構(gòu)來進(jìn)行測試,而不是 一開始就在生產(chǎn)環(huán)境部署、測試。

安裝與操作

1. 在Ubuntu中安裝Docker

更新ubuntu的apt源索引

sudo apt-get update

安裝包允許apt通過HTTPS使用倉庫

sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  software-properties-common

添加Docker官方GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

設(shè)置Docker穩(wěn)定版?zhèn)}庫

sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

添加倉庫后,更新apt源索引

sudo apt-get update

安裝最新版Docker CE(社區(qū)版)

sudo apt-get install docker-ce

檢查Docker CE是否安裝正確

sudo docker run hello-world

出現(xiàn)如下信息,表示安裝成功

Docker與FastDFS如何安裝和使用

為了避免每次命令都輸入sudo,可以設(shè)置用戶權(quán)限,注意執(zhí)行后須注銷重新登錄

sudo usermod -a -G docker $USER

2. 啟動(dòng)與停止

安裝完成Docker后,默認(rèn)已經(jīng)啟動(dòng)了docker服務(wù),如需手動(dòng)控制docker服務(wù)的啟停,可執(zhí)行如下命令

# 啟動(dòng)docker
sudo service docker start

# 停止docker
sudo service docker stop

# 重啟docker
sudo service docker restart

3. Docker鏡像操作

1. 列出鏡像

docker image ls

2. 拉取鏡像

要想獲取某個(gè)鏡像,我們可以使用pull命令,從倉庫中拉取鏡像到本地,如

docker image pull library/hello-world

由于 Docker 官方提供的 image 文件,都放在library組里面,所以它的是默認(rèn)組,可以省略。因此,上面的命令可以寫成下面這樣。

docker image pull hello-world

3. 刪除鏡像

docker image rm 鏡像名或鏡像id

4. Docker 容器操作

創(chuàng)建容器

docker run [option] 鏡像名 [向啟動(dòng)容器中傳入的命令]

常用可選參數(shù)說明:

  • -i 表示以“交互模式”運(yùn)行容器

  • -t 表示容器啟動(dòng)后會(huì)進(jìn)入其命令行。加入這兩個(gè)參數(shù)后,容器創(chuàng)建就能登錄進(jìn)去。即 分配一個(gè)偽終端。

  • --name 為創(chuàng)建的容器命名

  • -v 表示目錄映射關(guān)系(前者是宿主機(jī)目錄,后者是映射到宿主機(jī)上的目錄,即 宿主機(jī)目錄:容器中目錄),可以使 用多個(gè)-v 做多個(gè)目錄或文件映射。注意:最好做目錄映射,在宿主機(jī)上做修改,然后 共享到容器上。

  • -d 在run后面加上-d參數(shù),則會(huì)創(chuàng)建一個(gè)守護(hù)式容器在后臺(tái)運(yùn)行(這樣創(chuàng)建容器后不 會(huì)自動(dòng)登錄容器,如果只加-i -t 兩個(gè)參數(shù),創(chuàng)建后就會(huì)自動(dòng)進(jìn)去容器)。

  • -p 表示端口映射,前者是宿主機(jī)端口,后者是容器內(nèi)的映射端口??梢允褂枚鄠€(gè)-p 做多個(gè)端口映射

  • -e 為容器設(shè)置環(huán)境變量

  • --network=host 表示將主機(jī)的網(wǎng)絡(luò)環(huán)境映射到容器中,容器的網(wǎng)絡(luò)與主機(jī)相同

交互式容器

例如,創(chuàng)建一個(gè)交互式容器,并命名為myubuntu

docker run -it --name=myubuntu ubuntu /bin/bash

在容器中可以隨意執(zhí)行l(wèi)inux命令,就是一個(gè)ubuntu的環(huán)境,當(dāng)執(zhí)行exit命令退出時(shí),該容器也隨之停止。

守護(hù)式容器

創(chuàng)建一個(gè)守護(hù)式容器:如果對(duì)于一個(gè)需要長期運(yùn)行的容器來說,我們可以創(chuàng)建一個(gè)守護(hù)式容器。在容器內(nèi)部exit退出時(shí),容器也不會(huì)停止。

docker run -dit --name=myubuntu2 ubuntu

進(jìn)入已運(yùn)行的容器

docker exec -it 容器名或容器id 進(jìn)入后執(zhí)行的第一個(gè)命令

docker exec -it myubuntu2 /bin/bash

查看容器

# 列出本機(jī)正在運(yùn)行的容器
docker container ls

# 列出本機(jī)所有容器,包括已經(jīng)終止運(yùn)行的
docker container ls --all

停止與啟動(dòng)容器

# 停止一個(gè)已經(jīng)在運(yùn)行的容器
docker container stop 容器名或容器id

# 啟動(dòng)一個(gè)已經(jīng)停止的容器
docker container start 容器名或容器id

# kill掉一個(gè)已經(jīng)在運(yùn)行的容器
docker container kill 容器名或容器id

刪除容器

docker container rm 容器名或容器id

5. 將容器保存為鏡像

我們可以通過如下命令將容器保存為鏡像

docker commit 容器名 鏡像名

6. 鏡像備份與遷移

我們可以通過save命令將鏡像打包成文件,拷貝給別人使用

docker save -o 保存的文件名 鏡像名

docker save -o ./ubuntu.tar ubuntu

在拿到鏡像文件后,可以通過load方法,將鏡像加載到本地

docker load -i ./ubuntu.tar

使用Docker安裝FastDFS

1. 獲取鏡像

可以利用已有的FastDFS Docker鏡像來運(yùn)行FastDFS。

獲取鏡像可以通過下載

docker image pull delron/fastdfs

加載好鏡像后,就可以開啟運(yùn)行FastDFS的tracker和storage了。

2. 運(yùn)行tracker

執(zhí)行如下命令開啟tracker 服務(wù)

docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

我們將fastDFS tracker運(yùn)行目錄映射到本機(jī)的 /var/fdfs/tracker目錄中。

執(zhí)行如下命令查看tracker是否運(yùn)行起來

docker container ls

如果想停止tracker服務(wù),可以執(zhí)行如下命令

docker container stop tracker

停止后,重新運(yùn)行tracker,可以執(zhí)行如下命令

docker container start tracker

3. 運(yùn)行storage

執(zhí)行如下命令開啟storage服務(wù)

docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
  • TRACKER_SERVER=本機(jī)的ip地址:22122 本機(jī)ip地址不要使用127.0.0.1

  • 我們將fastDFS storage運(yùn)行目錄映射到本機(jī)的/var/fdfs/storage目錄中

執(zhí)行如下命令查看storage是否運(yùn)行起來

docker container ls

如果想停止storage服務(wù),可以執(zhí)行如下命令

docker container stop storage

停止后,重新運(yùn)行storage,可以執(zhí)行如下命令

docker container start storage

注意:如果無法重新運(yùn)行,可以刪除/var/fdfs/storage/data目錄下的fdfs_storaged.pid 文件,然后重新運(yùn)行storage。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

分享標(biāo)題:Docker與FastDFS如何安裝和使用
URL網(wǎng)址:http://muchs.cn/article2/jpecoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、用戶體驗(yàn)、品牌網(wǎng)站設(shè)計(jì)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)