windows10 docker 使用以及虛擬機下fastDFS 的使用教程


我們 先來了解下 什么是docker?

 

Docker的思想來自於集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規整的擺放起來。並且各種各樣的貨物被集裝箱標准化了,集裝箱和集裝箱之間不會互相影響。那么我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運走。

 

docker就是類似的理念。現在都流行雲計算了,雲計算就好比大貨輪。docker就是集裝箱。

1.不同的應用程序可能會有不同的應用環境,比如.net開發的網站和php開發的網站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個服務器上就要調試很久,而且很麻煩,還會造成一些沖突。比如IIS和Apache訪問端口沖突。這個時候你就要隔離.net開發的網站和php開發的網站。常規來講,我們可以在服務器上創建不同的虛擬機在不同的虛擬機上放置不同的應用,但是虛擬機開銷比較高。docker可以實現虛擬機隔離應用環境的功能,並且開銷比虛擬機小,小就意味着省錢了。

 

2.你開發軟件的時候用的是Ubuntu,但是運維管理的都是centos,運維在把你的軟件從開發環境轉移到生產環境的時候就會遇到一些Ubuntu轉centos的問題,比如:有個特殊版本的數據庫,只有Ubuntu支持,centos不支持,在轉移的過程當中運維就得想辦法解決這樣的問題。這時候要是有docker你就可以把開發環境直接封裝轉移給運維,運維直接部署你給他的docker就可以了。而且部署速度快。

 

3.在服務器負載方面,如果你單獨開一個虛擬機,那么虛擬機會占用空閑內存的,docker部署的話,這些內存就會利用起來。

總之docker就是集裝箱原理。

 

第一步先下載docker:

windows下docker的 地址,請點擊左邊的鏈接即可 ,提取碼4ydb

准備:

第一,把你的電腦的bios的虛擬開關打開,各個品牌的打開方法自己百度

第二,啟 windows 10 的 Hyper-V :控制面板 - 程序 - 啟用或關閉 windows 功能

 

注:只有win10的專業版才有此功能

第二步:

我們進行docker的配置,

這里可以設置docker的內存以及占用核數

 

 我們可以將docker下載源 更改為 網易的   http://hub-mirror.c.163.com

 

 

ok 配置完畢 我們的小鯨魚開始起航了 

 

開始:

去 Docker Hub 上拉取一個叫 hello-world 的集裝箱(說白了就是從網上拉下來

docker pull hello-world

 

然后讓這個集裝箱跑起來:

docker run hello-world

 

 

查看本機所安裝的集裝箱

docker images

 

 

 

例子:把hello-world  鏡像保存在本地

docker save hello-world -o hellow-world.tar   -o后面跟生成的路徑

 

刪除 鏡像:

docker rmi hello-world

 

查看正在運行的容器

docker ps -a

 

刪除所有的容器

docker rm docker ps -a -q

 

停止、啟動、殺死一個容器

docker stop Name/ID docker start Name/ID docker kill Name/ID

 


 

win10下  docker上安裝  fastdfs, 我的百度網盤上有 點擊下載  提取碼:id9t

docker load -i ⽂件路徑/fastdfs_docker.tar

1, 假如 我們的這個tar文件在桌面,   docker load -i /C:/Users/Administrator/Desktop/fastdfs_docker.tar

 

接下來把 我們的小鯨魚共享磁盤設置,點擊確定后會彈出 輸入計算機密碼的的窗口, 

 

2. 運⾏tracker

執⾏如下命令開啟tracker 服務

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

我們將 fastDFS tracker 運⾏⽬錄映射到本機的 /var/fdfs/tracker⽬錄中,注 在我們設置的共享磁盤下 建立這三層目錄,

 

3. 運⾏storage


執⾏如下命令開啟storage服務(/var/fdfs/storage 手動建立

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=本機的ip地址,不是你的127.0.0.1,端口號設置22122

 

最后 我們來測試下 到底安裝好了沒有

docker images   查集裝箱
docker ps -a    查容器

 下圖 代表你的應用正在運行中,

 

 

由於 fastdfs  在我們windows下 測試屢次出現問題,所有我們將項目轉移到虛擬機上,

ubuntu18.04虛擬機安裝docker

 

第一步: 

sudo apt-get update

然后直接   

 

sudo apt install docker.io

安裝完成之后 可以 

docker version   查看版本 

或者 docker -v

 

然后獲取鏡像

可以利⽤已有的FastDFS Docker鏡像來運⾏FastDFS。
獲取鏡像可以通過下載

sudo docker image pull delron/fastdfs

 

 

也可是直接使⽤提供給⼤家的鏡像備份⽂件

sudo docker load -i ⽂件路徑/fastdfs_docker.tar

 

成功之后可以 

 

sudo docker image ls 查看鏡像

 

列出本機所有容器,包括已經終止運行的

sudo docker container ls --all

 

 

加載好鏡像后,就可以開啟運⾏FastDFS的tracker和storage了。

 

刪除鏡像

 

sudo docker image rm hello-world

 

創建容器

 

sudo docker run [option] 鏡像名 [向啟動容器中傳入的命令]
常用可選參數說明:

-i 表示以“交互模式”運行容器
-t 表示容器啟動后會進入其命令行。加入這兩個參數后,容器創建就能登錄進去。即 分配一個偽終端。
–name 為創建的容器命名
-v 表示目錄映射關系(前者是宿主機目錄,后者是映射到宿主機上的目錄,即 宿主機目錄:容器中目錄),可以使 用多個-v 做多個目錄或文件映射。注意:最好做目錄映射,在宿主機上做修改,然后 共享到容器上。
-d 在run后面加上-d參數,則會創建一個守護式容器在后台運行(這樣創建容器后不 會自動登錄容器,如果只加-i -t 兩個參數,創建后就會自動進去容器)。
-p 表示端口映射,前者是宿主機端口,后者是容器內的映射端口。可以使用多個-p 做多個端口映射
-e 為容器設置環境變量
–network=host 表示將主機的網絡環境映射到容器中,容器的網絡與主機相同
交互式容器


例如,創建一個交互式容器,並命名為myubuntu

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

 

2. 運⾏tracker
執⾏如下命令開啟tracker 服務

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

 

我們將fastDFS tracker運⾏⽬錄映射到本機的 /var/fdfs/tracker⽬錄中。
執⾏如下命令查看tracker是否運⾏起來

sudo docker container ls

 

如果想停⽌tracker服務,可以執⾏如下命令

sudo docker container stop tracker

 


停⽌后,重新運⾏tracker,可以執⾏如下命令

sudo docker container start tracker

 

 


3. 運⾏storage
執⾏如下命令開啟storage服務

sudo 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=本機的ip地址:22122 本機ip地址不要使⽤127.0.0.1
我們將fastDFS storage運⾏⽬錄映射到本機的/var/fdfs/storage⽬錄中
執⾏如下命令查看storage是否運⾏起來

sudo docker container ls

 

如果想停⽌storage服務,可以執⾏如下命令

sudo docker container stop storage

 


停⽌后,重新運⾏storage,可以執⾏如下命令

sudo docker container start

 


注意:如果⽆法重新運⾏,可以刪除/var/fdfs/storage/data⽬錄下的fdfs_storaged.pid ⽂件,然后
重新運⾏storage。

 

停止與啟動容器

停止一個已經在運行的容器

sudo docker container stop 容器名或容器id


啟動一個已經停止的容器

sudo docker container start 容器名或容器id

 

kill掉一個已經在運行的容器

 

sudo docker container kill 容器名或容器id

 

刪除容器

sudo docker container rm 容器名或容器id

 

將容器保存為鏡像

sudo docker commit 容器名 鏡像名

 

鏡像備份與遷移

 

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

sudo docker save -o 保存的文件名 鏡像名
sudo docker save -o ./ubuntu.tar ubuntu


在拿到鏡像文件后,可以通過load方法,將鏡像加載到本地
sudo docker load -i ./ubuntu.tar

 


 

我們的python環境中,需要安裝

安裝
安裝提供給⼤家的fdfs_client-py-master.zip到虛擬環境中

百度下載 提取碼:0qyo
pip install fdfs_client-py-master.zip   本地下載
pip install mutagen 
pip isntall requests

 解壓后 cd到該目錄下

看截圖

 

執行 (注意虛擬環境的切換)

python setup.py install

把這個安裝包 安裝到你的環境中即可

下載 文檔  激活碼:ayzh

我們可以打開 shell環境:

python manage.py shell 

 

from fdfs_client.client import Fdfs_client

client = Fdfs_client('meiduo_mall/utils/fastdfs/client.conf')
client.upload_by_filename(文件名)

 

 接下來看看上傳成功后的信息輸出

 

最后 在瀏覽器 輸入本地IP + 8888 +上面的紅框字符串  測試是否可以讀取上傳的信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM