這篇文章主要介紹“Docker部署FastDFS實(shí)例分析”,在日常操作中,相信很多人在Docker部署FastDFS實(shí)例分析問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker部署FastDFS實(shí)例分析”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
10年積累的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有溫嶺免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
docker 安裝fastdfs
掛載目錄
-v /e/fdfs/tracker:/var/fdfs
/e/fdfs/tracker
在 windows
中的文件夾路徑為 e:\fdfs\tracker
/var/fdfs
為容器中的文件的絕對(duì)路徑
查看網(wǎng)絡(luò)
docker network ls # 網(wǎng)絡(luò)列表 docker network create --driver bridge --subnet=192.168.127.0/24 fastdfs_fastdfs_net # 創(chuàng)建自定義網(wǎng)段 暫不使用
下載鏡像
docker pull season/fastdfs
創(chuàng)建tracker容器 tracker服務(wù)器的端口默認(rèn)是22122
## 部署流程采用bridge網(wǎng)絡(luò) docker run -ti -d --name trakcer -v /f/fastdfs/tracker_data:/fastdfs/tracker/data -p 22122:22122 season/fastdfs tracker
使用docker鏡像構(gòu)建storage容器(存儲(chǔ)服務(wù)器,提供容量和備份服務(wù))
## 172.17.0.2為容器的ip地址 docker run -tid --name storage -v /f/fastdfs/storage_data:/fastdfs/storage/data -v /f/fastdfs/store_path:/fastdfs/store_path -p 8080:8080 -p 23000:23000 -p 80:80 -e tracker_server:172.17.0.2:22122 -e group_name=group1 season/fastdfs storage
此時(shí)兩個(gè)服務(wù)都以啟動(dòng)
### 進(jìn)行服務(wù)的配置,進(jìn)入storage容器,到storage的配置文件中配置http訪問的端口,配置文件在fdfs_conf目錄下的storage.conf docker exec -it storage bash cd fdfs_conf more storage.conf
接下來,退出storage容器,并將配置文件拷貝一份出來:
docker cp storage:/fdfs_conf/storage.conf ./
將修改后的配置文件拷貝到storagee的配置目錄下:
docker cp ./storage.conf storage:/fdfs_conf/
重新啟動(dòng)storage容器
docker stop storage docker start storage
看tracker容器和storage容器的關(guān)聯(lián)
docker exec -it storage bash cd fdfs_conf fdfs_monitor storage.conf
在docker模擬客戶端上傳文件到storage容器
## 開啟一個(gè)客戶端 docker cp ./storage.conf fdfs_sh:/fdfs_conf/
更改配置文件,因?yàn)橹耙呀?jīng)改過一次了,所以現(xiàn)在直接拷貝
docker exec -it fdfs_sh bash
創(chuàng)建一個(gè)txt文件
docker exec -it fdfs_sh bash echo hello>a.txt
進(jìn)入fdfs_conf目錄,并將文件上傳到storage容器
cd fdfs_conf fdfs_upload_file storage.conf /a.txt
windows命令
netstat -aon|findstr "22122" # 查看端口是否禁用 netsh firewall set opmode mode=disable # 關(guān)閉防火墻 netsh firewall reset
)
windows server 2012 r2 環(huán)境 使用docker-toolbox安裝 配置鏡像加速
docker-machine ssh default sudo sed -i "s|extra_args='|extra_args='--registry-mirror=http://hub-mirror.c.163.com |g" /var/lib/boot2docker/profile exit docke-machine restart default
docker安裝提示:error response from daemon: client is newer than server
解決方式:用命令 docker version 查看client(客戶端)的版本,再就簡(jiǎn)單粗暴將客戶端版本改為與服務(wù)端版本一致即可(export docker_api_version=1.22)復(fù)制代碼
dockertoolbox提示:default boot2docker iso is out-of-date
解決辦法:通過下載、拷貝最新版本的 boot2docker.iso
文件,放到安裝目錄和緩存目錄下,可以解決此問題。
下載最新的版的 boot2docker.iso
鏡像, 官方下載地址:拷貝到本地緩存目錄( c:\users\admin.docker\machine\cache\
)下, 并拷貝到本地的安裝目錄( c:\program files\docker toolbox
)下, 再次運(yùn)行 -docker
再次運(yùn)行 -docker quickstart termina
l終端控制臺(tái), 已經(jīng)能夠正常創(chuàng)建```default``虛擬機(jī)了。
如果還是提示上述錯(cuò)誤的話,那是因?yàn)?nbsp;boot2docker.iso
的版本不是最新版,在啟動(dòng)的時(shí)候會(huì)聯(lián)網(wǎng)檢查下載最新的 boot2docker.iso
,但是 github
訪問速度特別慢導(dǎo)致卡死,所以斷網(wǎng)跳過檢查這一步,加載到 boot2docker.iso
之后,后續(xù)在打開 docker
就沒有什么問題了。
掛載文件夾
fastdfs 集成springboot配置
#fastdfs fdfs: so-timeout: 1501 connect-timeout: 601 thumb-image: #縮略圖生成參數(shù) width: 200 height: 200 tracker-list: - 192.168.118.162:22122
docker for windows 容器內(nèi)網(wǎng)通過獨(dú)立ip直接訪問的方法
通過配置路由表實(shí)現(xiàn)ip互通
查看 route print
## 添加路由 route -p add 172.17.0.0 mask 255.255.255.0 10.0.75.2
docker for windows 容器內(nèi)網(wǎng)通過獨(dú)立ip直接訪問的方法
docker 部署fastdfs--方式二
-v /e/fdfs/tracker:/var/fdfs
/e/fdfs/tracker
在 windows
中的文件夾路徑為 e:\fdfs\tracker
/var/fdfs
為容器中的文件的絕對(duì)路徑
clone項(xiàng)目
## 該鏡像是集成nginx的鏡像 git clone https://qbanxiaoli@github.com/qbanxiaoli/fastdfs.git
進(jìn)入fastdfs目錄
cd fastdfs
修改docker-compose.yml,修改ip
shellversion: '3.0' services: fastdfs: build: . image: qbanxiaoli/fastdfs # 該容器是否需要開機(jī)啟動(dòng)+自動(dòng)重啟。若需要,則取消注釋。 restart: always container_name: fastdfs ports: - 8080:8080 - 22122:22122 - 23000:23000 environment: # 使用東八區(qū)的時(shí)間 tz: asia/shanghai # nginx服務(wù)端口,默認(rèn)8080端口,可修改 web_port: 8080 # tracker_server服務(wù)端口,默認(rèn)22122端口,可修改 fdfs_port: 22122 # fastdht服務(wù)端口,默認(rèn)11411端口,可修改 fdht_port: 11411 # docker所在宿主機(jī)ip內(nèi)網(wǎng)地址,默認(rèn)使用eth0網(wǎng)卡的地址 ip: 192.168.118.93 volumes: # 將本地目錄映射到docker容器內(nèi)的fastdfs數(shù)據(jù)存儲(chǔ)目錄,將fastdfs文件存儲(chǔ)到主機(jī)上,以免每次重建docker容器,之前存儲(chǔ)的文件就丟失了。 - /e/fastdfs/fastdfs:/var/local # 由于windows和unix識(shí)別不了host網(wǎng)絡(luò),目前需要新建網(wǎng)段,強(qiáng)制指定容器ip與宿主機(jī)ip一致 networks: fastdfs_net: ipv4_address: 192.168.118.93 networks: fastdfs_net: driver: bridge driver_opts: parent: eth0 ipam: config: - subnet: 192.168.118.0/24
執(zhí)行docker-compose命令
shelldocker-compose up -d
測(cè)試fastdfs是否搭建成功
# 進(jìn)入容器內(nèi)部 docker exec -it fastdfs /bin/bash
重啟tracker_server
shell/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
重啟storage_server
shell/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
查看storage狀態(tài)
shellfdfs_monitor /etc/fdfs/client.conf
localhost:8080訪問nginx
表示部署成功!
到此,關(guān)于“Docker部署FastDFS實(shí)例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!