今天接到任务,让我在服务器部署Mysql,Redis,Mongo,Fastdfs
前两个都搞过,Fastdfs和Mongo没装过,我那么稳的人。肯定自己服务器上装下。先搞定fdfs
首先打开百度,搜索,哈哈,然后试了第一个不行。第二个缺少东西。
好吧,用docker 吧 方便快捷。
记录正式开始了。
1 查看fastdfs镜像
docker search fastdfs
2 拉取镜像
该版本包含Nginx
docker pull delron/fastdfs
3 启动tracker服务
docker run -d --network=host --name tracker -v /home/xxx/docker/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
4 启动tracker服务
docker run -d --network=host --name storage -e TRACKER_SERVER=自己服务器的内网地址:22122 -v /home/xxx/docker/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
不知道用ifconfig查看
5 查看启动状态
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a4e62d066c12 delron/fastdfs "/usr/bin/start1.sh ?? 29 minutes ago Up 18 minutes storage
f22ad1e5399a delron/fastdfs "/usr/bin/start1.sh ?? 41 minutes ago Up 40 minutes tracker
458296646c1a mysql:5.7 "docker-entrypoint.s?? 5 weeks ago Up 5 weeks 33060/tcp, 0.0.0.0:3340->3306/tcp mymysql2
70092d44fd1a mysql:5.7 "docker-entrypoint.s?? 5 weeks ago Up 5 weeks 33060/tcp, 0.0.0.0:3339->3306/tcp mymysql
6 修改nginx端口,让storage的端口和内部的nginx一致
(nginx默认端口为8888,如无需更改可跳过)
1.进入storage容器:docker exec -it 953f982bd474 bash
2.修改storage内部http.server_port:`vi /etc/fdfs/storage.conf`,在最后一行
# the port of the web server on this storage server
http.server_port=8888
3.修改Nginx端口与上面保持一致:`vi /usr/local/nginx/conf/nginx.conf`
server {
listen 8888;
...
storage的默认端口是8888,但是这个版本的nginx,默认80,so要修改下nginx的server 端口
4.重启容器:docker restart a4e62d066c12
7 测试配置是否成功
1.拷贝一张图片(test.png)到目录/home/xxx/docker/fastdfs/storage 2.进入storage容器:docker exec -it a4e62d066c12 bash 进入fdfs目录:cd /var/fdfs 运行命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.png 运行成功后会返回地址:group1/M00/00/00/rBB8gV3OusGAKmXmAAAM4C6aVLU766.png
然后外网访问 http://112.124.14.16:8888/group1/M00/00/00/rBDtJV8oxeWAO-AUAANNuRlSDjs871.png