本文章介绍一镜到底安装go-fastdfs并配置数据文件到linux
由于国内镜像无法安装go-fastdfs:国内环境已经把docker官方的网站给封闭了
我们需要从国外的一台服务器,下载images镜像,然后进行转发加载到国内服务器
当然我也给你们准备了docker镜像:
链接: https://pan.baidu.com/s/1hQYgupKJZ9MnexwchdNDWQ?pwd=vh3r 提取码: vh3r
如果有条件的话,也可以使用下面的方式:
一、在国外服务器拉取镜像
首先,在国外的服务器上拉取 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 images就可以看到他了,再使用下面安装命令启动
安装命令:
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,就可以访问页面
随便选择一个文件上传,即可在服务器中找到该文件,到这里就结束啦