1、拉取镜像
docker pull ygqygq2/fastdfs-nginx
网上看到很多人,使用season/fastdfs 这个镜像,或者其它的,文件可以正常上传,但是却无法访问。个人觉得,是因为这个镜像,nginx并没有做好代理,或者要额外配置,所以内容无法访问。具体原因待查。
使用ygqygq2/fastdfs-nginx 这个镜像,无需集成nginx,镜像已经自动集成。拉取镜像,创建容器启动即可,无需配置。
2、创建tracker
docker run -d --network=host --name tracker ygqygq2/fastdfs-nginx tracker
3、创建storage
docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.211.132:22122 -v /usr/yd/aits/fastdfs/storage:/var/fdfs ygqygq2/fastdfs-nginx storage
说明:
TRACKER_SERVER :这个ip要改为自己的tracker的ip地址
-v /usr/yd/aits/fastdfs/storage:/var/fdfs
这个 -v 命令是挂载宿主机目录 /usr/yd/aits/fastdfs/storage 到容器的 /var/fdfs 目录 ;
目录会自动创建,但目录必须以/ 开头,冒号 “:” 前面的目录是宿主机目录,后面的目录是容器内目录;
当容器内已经存在需要挂载的目录时,容器内的目录及内容会被覆盖。宿主机目录新增文件时,容器内挂载目录也会新增,当容器挂载目录新增文件时,宿主机目录也会新增;
如果想要查看挂载是否成功,可进入容器,查看内容:
docker exec -it storage bash
cd /var/fdfs
ls ,可看到,容器内的内容,与宿主机保持一致。 可尝试容器内创建文件 ,查看宿主机是否会同步。
创建 test.txt
touch test.txt
回到宿主机,可以看到,挂载的目录下同步了test.txt文件。