docker搭建图片服务器,FTP上传,HTTP访问图片

环境介绍

OS:centos7
ftp镜像:fauria/vsftpd
http服务镜像:nginx:1.15.8

安装docker

yum install docker //安装docker
systemctl start docker //启动docker
docker -v //查看版本
systemctl enable docker //加入自启动

安装docker-compose

GITHUB下载太慢,这里采用国内源http://get.daocloud.io/#install-compose,需要的小伙伴可以收藏

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

编写docker-compose

docker和docker-compose完毕后,可以编写docker-compose文件,这里vsftpd有几个重点参数,PASV_ADDRESS:ftp服务器Ip、LOCAL_UMASK:022(建立文件夹的默认权限)设置为022后,远程用户建立的文件夹权限为777-022=755,755权限下的图片才可以被nginx访问到,缺省设置为075,权限是700,nginx是访问不到的。

version: '2'
services:
  nginx-image:
    image: nginx:1.15.8
    ports:
      - "80:80"
    volumes:
      - ~/pic/nginx/html:/usr/share/nginx/html
      - ~/pic/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - ~/pic/nginx/logs:/var/log/nginx
      - /data/ftp:/home/images
    restart: always
  vsftpd:
    image: fauria/vsftpd
    ports:
      - "20:20"
      - "21:21"
      - "21100-21110:21100-21110"
    volumes:
      - /data/ftp:/home/vsftpd/ftpuser
    environment:
      FTP_USER: ftpuser
      FTP_PASS: 1q2w3e4r
      PASV_ADDRESS: 192.168.2.100
      PASV_MIN_PORT: 21100
      PASV_MAX_PORT: 21110
      LOCAL_UMASK: 022
    restart: always

执行

shell执行

docker-compose up -d

容器正常启动即可。
ftp 192.168.2.100,输入用户名/密码即可上传图片。
通过http://192.168.2.100/image/前缀+图片相对路径即可正常访问图片。

你可能感兴趣的:(docker搭建图片服务器,FTP上传,HTTP访问图片)