DockerToolbox离线安装文件服务器fastDFS 教程

1、(联网设备)找一台linux已安装docker的联网电脑

  在联网的linux上执行(执行前确认docker是否安装)拉取镜像: docker pull morunchang/fastdfs

2、(联网设备)镜像转文件的命令

  执行镜像文件命令: docker save morunchang/fastdfs  > /root/fastdfs.tar 

  将该路径下的文件 /root/fastdfs.tar,copy至待安装的电脑,例如:D:/dockerFastDFS/fastdfs.tar

3、(离线设备)复制文件到离线机器并导入

  复制文件到离线机器 然后导入:docker load -i D:/dockerFastDFS/fastdfs.tar

4、要安装fastdfs电脑已经联网(忽略上述1、2、3步操作)

  可直接拉取镜像: docker pull morunchang/fastdfs

5、(离线设备)启动tracke

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

  这时候可能还会报错,提示你已经启动过该容器了,你可以:

  docker rm 你的容器id,然后再次执行上述命令

6、(离线设备)启动storage

  (192.168.99.100 ip 自行替换为docker 所在容器的ip )( 此镜像不支持-p 参数)

  docker run -d --name storage --net=host -e TRACKER_IP=192.168.99.100:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

7、默认端口

  nginx默认端口:8080

  tracker默认端口:22122

  上传后访问地址:http://192.168.99.100:8080/group1/M00/00/00/rBVb2lwPNYeAZtTLAAAXxD4H4Z8674.txt

8、端口修改(未测试)

  storage 内部nginx 端口修改 以22999为例

  1.进入容器内部: docker exec -it storage /bin/bash

  2.修改nginx配置文件: vim /etc/nginx/conf/nginx.conf

    修改 http.server.listen 8080 为 22999

    sed -i 's/8080/22999/g' /etc/nginx/conf/nginx.conf

  3.退出容器

    exit

  4.重启storage

    docker restart storage

  5、修改端口后访问路径:http://192.168.99.100:22999/group1/M00/00/00/rBVb2lwPNYeAZtTLAAAXxD4H4Z8674.txt

9、报错信息处理

  1、停止storage后,重新启动storage,发现状态Exited(1)无法启动,查看日志

    执行命令:docker logs storage

    报错信息:tail: cannot open '/var/fdfs/logs/storaged.log' for reading: No such file or directory

    第一种解决方法:这个报错信息在安装delron/fastdfs这个镜像时出现,各种办法尝试,未能解决,网上的解决方案是,如果重启后无法启动的话,手动

    创建vi/var/fdfs/logs/storaged.log 文件即可,可自行尝试

    第二种解决方法:更换为这个镜像morunchang/fastdfs,并按该教程安装,问题解决,不再出现状态Exited(1)无法启动的问题

10、设置容器自启动

  1、创建容器时设置容器自动重启

    docker run -d --restart=always --name 设置容器名 使用的镜像
    (上面命令 --name后面两个参数根据实际情况自行修改)

    # Docker 容器的重启策略如下:
    --restart具体参数值详细信息:
    no        // 默认策略,容器退出时不重启容器;
    on-failure   // 在容器非正常退出时(退出状态非0)才重新启动容器;
    on-failure:3 // 在容器非正常退出时重启容器,最多重启3次;
    always     // 无论退出状态是如何,都重启容器;
    unless-stopped // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。

  2、修改已有容器,使用update

    如果创建时未指定 --restart=always,可通过update 命令设置

    docker update --restart=always 容器ID(或者容器名)

11、关于同网段无法访问问题

  按照以下操作,映射端口,实现同一网段,可进行访问

  

 

posted @ 2022-08-03 16:00  生活这把杀猪刀  阅读(238)  评论(0编辑  收藏  举报