docker search fastdfs
INDEX       NAME                                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io docker.io/season/fastdfs FastDFS
docker.io docker.io/luhuiguo/fastdfs FastDFS is an open source high performance... [OK]
docker.io docker.io/morunchang/fastdfs A FastDFS image
docker.io docker.io/ygqygq2/fastdfs-nginx 整合了nginx的fastdfs [OK]
docker.io docker.io/lionheart/fastdfs-tracker just have a try on autobuilded -_-# [OK]
docker.io docker.io/imlzw/fastdfs-tracker fastdfs的tracker服务 [OK]
docker.io docker.io/qbanxiaoli/fastdfs FastDFS单机版 [OK]
docker.io docker.io/appcrash/fastdfs_nginx fastdfs with nginx
docker.io docker.io/delron/fastdfs
docker.io docker.io/evan1120/fastdfs_storage The fastdfs storage image [OK]
docker.io docker.io/evan1120/fastdfs_tracker The fastdfs tracker docker image, only con... [OK]
docker.io docker.io/imlzw/fastdfs-storage fastdfs的storage服务 [OK]
docker.io docker.io/imlzw/fastdfs-storage-dht fastdfs的storage服务,并且集成了fastdht的服务,实现文件排重 [OK]
docker.io docker.io/john123951/fastdfs_storage fastdfs storage [OK]
docker.io docker.io/lionheart/fastdfs-storage 更加规范的Dockerfile,能够自动构建了。 [OK]
docker.io docker.io/lionheart/fastdfs_storage the fastdfs file system's storage node 1
docker.io docker.io/lionheart/fastdfs_tracker fastdfs file system‘s tracker node
docker.io docker.io/ecarpo/fastdfs-storage
docker.io docker.io/john123951/fastdfs_tracker fastdfs tracker [OK]
docker.io docker.io/manuku/fastdfs-fastdht fastdfs fastdht [OK]
docker.io docker.io/manuku/fastdfs-storage-dht fastdfs storage dht [OK]
docker.io docker.io/manuku/fastdfs-storage-proxy fastdfs storage proxy [OK]
docker.io docker.io/manuku/fastdfs-tracker fastdfs tracker [OK]
docker.io docker.io/mypjb/fastdfs this is a fastdfs docker project [OK]
docker.io docker.io/tsl0922/fastdfs FastDFS is an open source high performance... [OK]

2.下载镜像文件

docker pull morunchang/fastdfs

3.安装tracker跟踪器容器

docker run -d --name tracker --restart=always --net=host morunchang/fastdfs sh tracker.sh

tracker容器使用host网络,docker容器中的几种网络模式,这里就不介绍了,后面有时间进行补充。
4.进入tracker容器

docker exec -it tracker /bin/bash

修改文件 nginx.conf

vi /etc/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; #gzip on; server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
} location ~ /M00 {
root /data/fast_data/data;
ngx_fastdfs_module;
...................

这里是nginx监听tracker的端口号,即tracker的访问端口号,不过,需要直接访问tracker么?
修改文件client.conf

vi /etc/fdfs/client.conf
.
. # the base path to store log files
base_path=/data/fast_data # tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=x.x.x.x:
#这里的这个IP是你本地/服务器的ip,端口号tracker的端口号,你需要自己指定,但是需要跟tracker.conf文件中的端口号一致。
# specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V4.
storage_ids_filename = storage_ids.conf #HTTP settings
http.tracker_server_port= #use "#include" directive to include HTTP other settiongs
##include http.conf
这里的端口号是tracker的访问端口号,和上面的22122不是一个。

修改文件tracker.conf

vi /etc/fdfs/tracker.conf
......
disabled=false # bind an address of this host
# empty for bind all addresses of this host
bind_addr= # the tracker server port
port=
#这个端口号是tracker的端口号。
# connect timeout in seconds
# default value is 30s
connect_timeout= connection_pool_max_idle_time = # HTTP port on this tracker server
http.server_port=
这个是tracker的监听端口号,http访问的端口号。好像该不该都无所谓
# check storage HTTP server alive interval seconds
# <= for never check
# default value is
http.check_alive_interval=

5.退出容器

6.安装storage储存器容器
现在/home下面创建文件夹

[root@ ~]# mkdir -p /home/docker/fastdfs/storage/
docker run -d --name storage --net=host --restart=always -e TRACKER_IP=189.215.159.153: -v /home/docker/fastdfs/storage:/data/fast_data -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
#IP建议用公网ip,私网的ip网络进入不了

注意:这里的端口号是tracker容器的ip和端口号,不是tracker的http访问的端口号。
进入容器

docker exec -it storage /bin/bash
修改文件nginx.conf
vi /etc/nginx/conf/nginx.conf
....
... http {
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; #gzip on; server {
listen ;
      #######支持https###########
      #listen ssl;
      #server_name xx.xxxxx.com;
      #ssl on;
      #ssl_certificate /etc/nginx/cert/.pem;  #必须得先把这两个证书准备好
      #ssl_certificate_key /etc/nginx/cert/.key;
      #ssl_session_timeout 5m;
      #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      #ssl_protocols TLSv1 TLSv1. TLSv1.;
      #ssl_prefer_server_ciphers on;
      #######支持https########### #这里是storage容器的监听端口号。
#charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}

为了支持https需要在容器里面做一下操作

apt-get update
git clone https://github.com/happyfish100/libfastcommon.git
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
cd libfastcommon/
./make.sh
./make.sh install
apt-get install wget
wget http://nginx.org/download/nginx-1.13.12.tar.gz
tar -xvf nginx-1.13..tar.gz
mv nginx-1.13. nginx
cd nginx
apt-get install openssl libssl-dev
./configure --prefix=/etc/nginx --add-module=/data/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module
make
make install
/etc/nginx/sbin/nginx -v
/etc/nginx/sbin/nginx -s reload

查看是否已经监听443端口

root@:/# ss -tnpl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN *: *:*
LISTEN *: *:*
LISTEN *: *:* users:(("nginx",pid=,fd=))
LISTEN *: *:*
LISTEN *: *:* users:(("fdfs_storaged",pid=,fd=))
LISTEN 127.0.0.1: *:*
LISTEN *: *:* users:(("nginx",pid=,fd=))
LISTEN 127.0.0.1: *:*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
root@:/#

以上443端口已经监听,已经支持https形式

修改文件client.conf

vi /etc/fdfs/client.conf
#不再本容器测试就不用改

tracker容器的访问端口号
修改文件storage的storage.conf

vi /etc/fdfs/storage.conf
client_bind=true # the storage server port
port= # connect timeout in seconds
# default value is 30s
.
.
.
connection_pool_max_idle_time = # use the ip address of this storage server if domain_name is empty,
# else this domain name will ocur in the url redirected by the tracker server
http.domain_name= # the port of the web server on this storage server
#storage的访问端口号
#http.server_port=
http.server_port=

7.退出容器,重启tracker和storage

docker restart storage tracker
netstat -tnlp #查看监听的端口
cd /home/docker/fastdfs/storage/data///
#进入容器上传图片
[root@:/]# fdfs_test /etc/fdfs/client.conf upload xxxxx.jpg

8.报错调整ERROR - file: tracker_proto.c, line: 48, server: 10.171.22.124:22122, response status 2 != 0

排查思路:

在tracker上使用fdfs_monitor /etc/fdfs/client.conf 命令查看storage的状态是offline

fdfs_monitor /etc/fdfs/client.conf delete group1 storage的IP地址。    #先在tracker上删除storage的信息。

rm -rf /data/fastdfs/data        #删除storage的数据目录。

service fdfs_storaged restart    #重启storage

在tracker上再次使用fdfs_monitor查看storage的状态,显示active。上传图片,正常了。

docker安装fastdfs单机版的更多相关文章

  1. docker安装fastdfs与java客户端测试

    一.docker 安装FastDFS 1.拉取镜像 docker pull morunchang/fastdfs 2.创建并启动tracker容器 docker run -d --name=track ...

  2. docker安装fastdfs碰到storage的IP地址映射宿主地址问题

    一.概述 最近公司准备全面实施docker部署,解决每次项目实施安装部署环境工作量大问题,mysql5.7.oracle12c很顺利,在安装fastdfs时碰到storage的IP地址映射问题.服务器 ...

  3. Linux 安装FastDFS<单机版>(使用Mac远程访问)

    阅读本文需要先阅读安装FastDFS<准备> 一 编译环境 yum install gcc-c++ yum -y install libevent yum install -y pcre ...

  4. CentOS7 安装FastDFS单机版

    1. 下载 FastDFS https://github.com/happyfish100/fastdfs/releases libfastcommon https://github.com/happ ...

  5. docker 安装 fastdfs

    fastdfs 安装 //1.拉取镜像 docker pull morunchang/fastdfs //2.启动tracker docker run -d --name tracker --net= ...

  6. 使用Docker安装FastDFS(分布式文件系统)

    1. 获取镜像 可以利用已有的FastDFS Docker镜像来运行FastDFS. 获取镜像可以通过下载 docker image pull delron/fastdfs 也可是直接使用提前下载的镜 ...

  7. Docker安装FastDFS

    什么是FastDFS? FastDFS 是用 c 语言编写的一款开源的分布式文件系统.FastDFS 为互联网量身定制, 充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用 ...

  8. Docker与FastDFS的安装命令及使用

    Docker特点 1)上手快 用户只需要几分钟,就可以把自己的程序“Docker 化”.Docker 依赖于“写时复制” (copy-on-write)模型,使修改应用程序也非常迅速,可以说达到“随心 ...

  9. Linux 安装FastDFS<准备>(使用Mac远程访问)

    阅读本文需要一定的Linux基础 一 FastDFS简介 fastdfs是用c语言编写的一款开源分布式文件系统, fastdfs为互联网量身定制, 充分考虑了冗余备份, 负载均衡, 线性扩容等机制, ...

随机推荐

  1. 基于Java实现批量下载网络图片

    昨天朋友做项目遇到一个需求,需要把上千个的微博表情图片下载到本地磁盘,并做好规范命名,塞给我一堆Json数据,让我帮忙处理下,反正闲着也没事干,就帮忙写了.(很简单的一个功能,随手记录下,刚好填补下最 ...

  2. DOTween 使用方法

    参考链接: http://dotween.demigiant.com/documentation.php https://www.cnblogs.com/backlighting/p/5344047. ...

  3. Python 函数 (关键字参数)

    关键字参数 可变参数允许你传入0个或者任意个参数,这些可变参数在函数调用时会自动组装成一个tuple,而关键字参数允许你传入0个或者任意个含参数名的参数,这些参数在函数内部自动组装成为一个dict d ...

  4. [IR] What is XML

    Concept: http://www.w3school.com.cn/xml/xml_cdata.asp Semistructured: 和普通纯文本相比,半结构化数据具有一定的结构性.OEM(Ob ...

  5. rtmp推送aac没有声音的问题记录

      症状是这样的:用librtmp推流aac后,用vlc能收到推流的声音,但是用flash却播放不了推流的声音.   查了几天,用工具抓取推流的数据,发现rtmp数据包中的头部信息有一个Chunk S ...

  6. 两种简单实现菜单高亮显示的JS类(转载)

    两种简单实现菜单高亮显示的JS类   近期在写一个博客管理后台的前端,涉及在同一页面两种高亮显示当前菜单的需求.记得当年写静态页时,为了实现高亮都是在每个页面加不同的样式,呵.高亮显示我觉得对于web ...

  7. sscanf的字符串格式化用法

    sscanf()为C语言标准库函数,用于从指定字符串中读入与指定格式相符的数据.函数原型声明在stdio.h头文件中: int sscanf(const char *str, const char * ...

  8. windows 清理利器

    https://www.ccleaner.com/ 2. https://www.chuyu.me/zh-Hans/index.html

  9. 前端模板学习bootstrap

    前端最主要的工作是布局,呈现数据,这与后台处理数据的工作迥然不同,所以要多看别人写的好的模板.但是别人用到的css,js文件和我们的都不太相同,所以很多模板不能拿过来直接用,要经过简单的修改才能使用, ...

  10. svn的安装方法

    SVN的安装很常用.但是我好像经常用了之后就忘记.这次把笔记放在这里,如果以后忘了,就可以随时查看了. 步骤: 一.下载SVN 这里常用的是site.zip. 之前是手头有现成的site.zip.今天 ...