使用docker搭建文件服务器

Posted by Starrk的小屋 on March 20, 2020

简介

​ 因为有些敏感软件难以随时搜索,从外网下载限于垃圾宽带异常的便秘。想想还是有做个简单文件服务器的必要。这里使用docker方便快捷,web服务器选择nginx。

搭建流程

首先使用docker 拉去镜像。

docker pull nginx:latest

建立文件服务器目录

​ 在主文件目录下建立 nginx-docker 文件夹,在该文件夹下创建 file-store 文件夹,之后存储的文件都会放入其中。再创建 default.conf 和 docker-compose.yml 文件。前者是nginx的配置文件,后者是创建docker容器的配置文件。

修改default.conf

server {
    listen 80;   
    server_name localhost; 
    charset utf-8; 
    root /home/nginx;
    
    location / {
        autoindex on; 
        autoindex_exact_size off; 
        autoindex_localtime on;  
    }
} 

配置文件中 root /home/nginx; 表示nginx 启动后的根目录位置。之后需要对docker进行文件映射的配置。

修改docker-compose.yml

version: '2'
services:
  nginx:
    image: nginx:latest
    restart: always
    container_name: nginx-fs
    ports:
      - "8080:80"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./file-store:/home/nginx
      - ./default.conf:/etc/nginx/conf.d/default.conf

​ 配置文件中port 是对端口映射的设置。volumes 对文件进行映射。这里将./file-store 和之前设置的nginx根目录位置进行映射。当然也可以使用手动命令行的方法配置,只是太麻烦了。

启动服务

docker-compose -f docker-compose.yml up

​ 使用浏览器访问相应的页面和端口进行验证。如果有问题,nginx端会报相应的错误,可以进行debug。