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
https://hub.docker.com/r/qbanxiaoli/fastdfs)
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
鏡像, 官方下載地址:https://github.com/boot2docker/boot2docker/releases拷貝到本地緩存目錄( 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)?boot2docker.iso
的版本不是最新版,在啟動(dòng)的時(shí)候會(huì)聯(lián)網(wǎng)檢查下載最新的 boot2docker.iso
,但是 github
訪問速度特別慢導(dǎo)致卡死,所以斷網(wǎng)跳過檢查這一步,加載到 boot2docker.iso
之后,后續(xù)在打開 docker
就沒有什么問題了。
掛載文件夾
https://www.jb51.net/article/176813.htm
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目錄
修改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
表示部署成功!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。