docker安装fastdfs单机版

Posted linyouyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker安装fastdfs单机版相关的知识,希望对你有一定的参考价值。

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

2.下载镜像文件

docker pull morunchang/fastdfs

3.安装tracker跟踪器容器

docker run -d --name tracker --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  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8089;
        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:22122
#这里的这个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.05
storage_ids_filename = storage_ids.conf


#HTTP settings
http.tracker_server_port=8089

#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=22122
#这个端口号是tracker的端口号。
# connect timeout in seconds
# default value is 30s
connect_timeout=30

connection_pool_max_idle_time = 3600

# HTTP port on this tracker server
http.server_port=8089
这个是tracker的监听端口号,http访问的端口号。
# check storage HTTP server alive interval seconds
# <= 0 for never check
# default value is 30
http.check_alive_interval=30

5.退出容器

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

[[email protected]0007 chencang]# mkdir -p /home/docker/fastdfs/storage/
docker run -d --name storage --net=host -e TRACKER_IP=124.225.159.153:22122 -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  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;
        server_name  localhost;
        #这里是storage容器的监听端口号。
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

修改文件client.conf

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

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

vi /etc/fdfs/storage.conf
client_bind=true

# the storage server port
port=23000

# connect timeout in seconds
# default value is 30s
.
.
.
connection_pool_max_idle_time = 3600

# 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
=8888 http.server_port=8080

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

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

 








以上是关于docker安装fastdfs单机版的主要内容,如果未能解决你的问题,请参考以下文章

FastDFS-单机版安装

Fastdfs单机 安装

fastdfs虚拟机单机版搭建

fastDFS单机

安装FastDFS单机版环境

安装FastDFS单机版环境