使用docker搭建FastDFS
拉取镜像(使用docker-componse可以忽略)
[root@localhost ~]# docker pull phinexdaz/fdfs_tracker [root@localhost ~]# docker pull phinexdaz/fdfs_storage
docker-componse.yml
[root@localhost fdfs]# cat docker-componse.yml version: '2' services: fdfs_tracker: image: phinexdaz/fdfs_tracker container_name: fdfs_tracker cap_add: - LINUX_IMMUTABLE ports: - "22122:22122" volumes: - /etc/localtime:/etc/localtime:ro - /opt/compose-conf/df/data/fastdfs/tracker:/data/tracker hostname: fdfs_tracker restart: always environment: - LANG=zh_CN.UTF-8 mem_limit: 2g memswap_limit: 2g stdin_open: true tty: true fdfs_storage: image: phinexdaz/fdfs_storage links: - fdfs_tracker container_name: fdfs_storage cap_add: - LINUX_IMMUTABLE ports: - "80:80" - "23000:23000" volumes: - /etc/localtime:/etc/localtime:ro - /opt/compose-conf/df/data/fastdfs/storage:/data/storage hostname: fdfs_storage restart: always environment: - LANG=zh_CN.UTF-8 - TRACKER=fdfs_tracker mem_limit: 2g memswap_limit: 2g stdin_open: true tty: true
启动fdfs
[root@localhost fdfs]# docker-compose -f docker-componse.yml up -d # 进入docker [root@localhost fdfs]# docker-enter fdfs_storage # 更改启动脚本, 更改ip变量 [root@fdfs_storage /]# cat /entrypoint.sh #!/bin/bash STORAGE_BASE_PATH="/data/storage" STORAGE_LOG_FILE="$STORAGE_BASE_PATH/logs/storaged.log" STORAGE_CONF_FILE="/etc/fdfs/storage.conf" echo "start fdfs_storgaed..." #ip=`cat /etc/hosts | grep $TRACKER | awk '{print $1}'` ip=$TRACKER sed -i "s/^.*tracker_server=.*$/tracker_server=$ip:22122/" /etc/fdfs/storage.conf sed -i "s/^.*tracker_server=.*$/tracker_server=$ip:22122/" /etc/fdfs/client.conf sed -i "s/^.*tracker_server=.*$/tracker_server=$ip:22122/" /etc/fdfs/mod_fastdfs.conf fdfs_storaged "$STORAGE_CONF_FILE" /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf tail -f "$STORAGE_LOG_FILE" # 提交镜像 [root@localhost fdfs]# docker commit fdfs_storage phinexdaz/fdfs_storage [root@localhost fdfs]# docker-compose -f docker-componse.yml up -d
测试
[root@localhost fdfs]# docker-enter fdfs_storage [root@localhost fdfs]# docker-enter fdfs_storage fdfs_upload_file /etc/fdfs/client.conf /tmp/ss.txt [root@localhost ~]# curl http://127.0.0.1:88/group1/M00/00/00/rBcAA1yi9nmAQ56OAAAABFqCAvc886.txt 123