环境介绍
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/前缀+图片相对路径即可正常访问图片。