Go-FastDFS文件服务器一镜到底使用Docker安装

本文章介绍一镜到底安装go-fastdfs并配置数据文件到linux

由于国内镜像无法安装go-fastdfs:国内环境已经把docker官方的网站给封闭了

我们需要从国外的一台服务器,下载images镜像,然后进行转发加载到国内服务器

一、在国外服务器拉取镜像

首先,在国外的服务器上拉取 go-fastdfs 的 Docker 镜像。

docker pull go-fastdfs/go-fastdfs

二、保存镜像为 tar 文件

拉取完成后,将 Docker 镜像保存为 .tar 文件,方便传输到国内服务器。

docker save -o go-fastdfs.tar go-fastdfs/go-fastdfs

三、将镜像文件传输到国内服务器

使用 scp 或其他传输工具,将 go-fastdfs.tar 文件从国外服务器传输到国内服务器。假设你使用 scp,可以运行以下命令:

scp go-fastdfs.tar username@domestic-server-ip:/path/to/destination

替换 username 和 domestic-server-ip 为国内服务器的用户名和 IP 地址,/path/to/destination 为目标路径。

四、在国内服务器加载镜像

在国内服务器上,使用以下命令加载 .tar 文件中的 Docker 镜像:

docker load -i go-fastdfs.tar

安装命令:

docker run -d --name go-fastdfs -p 8090:8080 -v /storage/docker/go-fastdfs:/data -e GO_FASTDFS_DIR=/data sjqzhang/go-fastdfs

命令解析

1. docker run

  • 这个命令用于创建并启动一个新的容器。

2. -d

  • 代表 后台运行(detached mode)。容器将在后台运行,而不会在终端显示容器的日志输出。

3. --name go-fastdfs

  • 这是指定容器的名称为 go-fastdfs。这意味着你可以使用这个名称来引用容器,比如使用 docker stop go-fastdfs 停止容器,或 docker logs go-fastdfs 查看日志。

4. -p 8090:8080

  • 端口映射:将宿主机的 8090 端口映射到容器的 8080 端口。假设容器内的应用程序监听 8080 端口,外部可以通过宿主机的 8090 端口访问它。

    例如,如果 Go-FastDFS 提供了 Web 管理界面或 API,在宿主机浏览器中访问 http://<your_server_ip>:8090 可以访问容器内的 Web 应用。

5. -v /storage/docker/go-fastdfs:/data

  • 挂载卷 :将宿主机目录 /storage/docker/go-fastdfs 挂载到容器的 /data 路径。

    • 宿主机路径 : /storage/docker/go-fastdfs,用于存储 Go-FastDFS 的数据。
    • 容器路径 : /data,容器内 Go-FastDFS 将会在这个路径下存储文件数据。

    容器内的 /data 会映射到宿主机的 /storage/docker/go-fastdfs,文件将被存储在宿主机路径下,方便管理和备份。

6. -e GO_FASTDFS_DIR=/data

  • 环境变量 :设置了一个名为 GO_FASTDFS_DIR 的环境变量,其值为 /data。

    • 这个环境变量通常用于告诉容器或应用程序 Go-FastDFS 的数据存储路径。具体来说,它可能是 Go-FastDFS 的配置项,用来指示容器应该在哪个目录中查找或存储数据。

    这个设置确保 Go-FastDFS 使用容器内的 /data 路径来存储文件数据(与上面挂载的路径一致),并且宿主机的 /storage/docker/go-fastdfs 目录与容器路径同步。

7. sjqzhang/go-fastdfs

  • 镜像 :这是你要运行的 Docker 镜像,镜像名为 sjqzhang/go-fastdfs。这个镜像包含了 Go-FastDFS 的所有代码和依赖,Docker 会根据这个镜像来启动容器。

然后打开服务器ip+端口,我这边配置的是8090,就可以访问页面

随便选择一个文件上传,即可在服务器中找到该文件,到这里就结束啦

相关推荐
福建佰胜张工4 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
xuefeiniao5 小时前
PHP2Shell漏洞修复
运维·服务器·php
水饺编程6 小时前
第2章:Linux 基础,切换到超级用户
linux·c语言·汇编
便利店10246 小时前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
g3voip7 小时前
工业防水电话到底怎么选?隧道、管廊与码头的需求差异
服务器·网络·信息与通信·ip
qetfw7 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
其实防守也摸鱼7 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
.Bryce.8 小时前
从强化学习到Agentic RL:让Agent在“干活“中自己变聪明
服务器·网络·agent·rag·agentic rl
ZYH_06018 小时前
rhcsa课程复习题
服务器·bash
TTATTC8 小时前
单体应用如何支撑千所机构独立测评?拆解 sg-exam 行级多租户隔离与动态组卷内核
docker·开源