Docker Nginx pure-ftp 搭建图片服务器

1.docker 配置 pure-ftp

(1)安装docker和docker-compose

sudo apt-get install docker.io
sudo apt-get install docker-compose

(2) 创建文件路径

mkdir /home/ftpfile

(3) 进入任意工作目录

mkdir pure-ftp
cd pure-ftp

(4)配置pure-ftpd(具体配置可根据需要更改, 可参考 https://blog.csdn.net/shanzhongyinzhe/article/details/49639703 )

vim pure-ftpd.conf

(5)编辑docker-compose文件

 vim docker-compose.xml 

ftp:
  image: "stilliard/pure-ftpd"
  ports:
    - "21:21"
    - "30000:30000"
    - "30001:30001"
    - "30002:30002"
    - "30003:30003"
    - "30004:30004"
    - "30005:30005"
    - "30006:30006"
    - "30007:30007"
    - "30008:30008"
    - "30009:30009"
  volumes:
    - "/home/ftpfile:/home/ftpfile"
    - "./pure-ftpd:/etc/pure-ftpd"
  environment:
    PUBLICHOST: "localhost"


(6)  docker-compose up -d 

扫描二维码关注公众号,回复: 2363671 查看本文章


(7) 进入ftp容器内

docker exec -it pureftp_ftp_1 /bin/bash

(8) 创建ftp虚拟用户

pure-pw useradd user1 -u deity -g ftpgroup -d /home/ftpfile
pure-pw mkdb

(9) 重启pure-ftp

service pure-ftpd restart

 

 


2.docker 配置 nginx

(1) 进入任意工作目录

mkdir nginx
cd nginx

(2)  vim nginx.conf 

user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;


events {
worker_connections 1024;
}


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf;
}

  nginx.conf可以去nginx官网下载,然后在末尾花括号前加上 include /etc/nginx/conf.d/*.conf;  即可。

(3) 编写子配置文件

mkdir nginx.conf.d
cd nginx.conf.d

(4) vim image.vvshow.com.conf 

server {
    listen 80;
    autoindex off;
    server_name image.vvshow.com;
    access_log /var/log/nginx/access.log combined;
    index index.html index.htm index.jsp;
    
    if ( $query_string ~* ".*[\;'\<\>].*" ) {
        return 404;
    } 
    

    location / {
        root /home/ftpfile;
        add_header Access-Control-Allow-Origin *;

    }
}

(5)  cd ..  vim docker-compose.xml 

nginx:
image: "hub.c.163.com/library/nginx"

ports: 
- "80:80"

volumes:
- "/home/ftpfile:/home/ftpfile"
- "./nginx.conf:/etc/nginx/nginx.conf"
- "./nginx.conf.d:/etc/nginx/conf.d"

environment:
PUBLICHOST: "localhost"

(6)  docker-compose up -d 

(7) 修改/etc/hosts,可将本机ip 映射域名为 image.vvshow.com

 

(8) 此时浏览器访问image.vvshow.com 映射的为 /home/ftpfile目录

 

注:pure-ftp 和 nginx 的docker-compose.xml 内容可以合在一起

猜你喜欢

转载自www.cnblogs.com/Duolaimon/p/9365233.html