docker 搭建ftp文件管理服务器

docker部署ftp服务

 

docker-compose编排容器方式部署

docker-compose安装需要执行下面两条命令:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

编写docker-compose执行文件如下: 

[root@localhost ~]# cat > docker-compose.yml <<-EOF
version: "3.5"
services:
  ftp:
    image: fauria/vsftpd
    container_name: vsftpd
    hostname: ftp
    privileged: true
    user: root
    ports:
      - 21120-21121:20-21
      - 21100-21110:21100-21110
    environment:
      - FTP_USER=admin
      - FTP_PASS=xxxxx
      - PASV_ADDRESS=172.17.0.102
      - PASV_MIN_PORT=21100
      - PASV_MAX_PORT=21120
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /mnt/vsftpd/uploads:/home/vsftpd
    restart: always
    tty: true
EOF

 

将容器的20-21端口映射到主机的21120-21121

将容器中存放文件的路径/home/vsftpd映射到主机的/home/richard/vsftpd/uploads

执行docker-compose

docker-compose up -d

添加ftp用户的方法

[root@localhost ~]# docker exec -it vsftpd /bin/bash
[root@15a26502c00b /]# cat /etc/vsftpd/virtual_users.txt
z			# 用户名
z				# 用户密码
web				# 添加的用户名
xxxx			# 添加的用户密码
[root@15a26502c00b /]# mkdir -p /home/vsftpd/web
[root@15a26502c00b /]# db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
[root@15a26502c00b /]# exit
[root@localhost ~]# docker restart vsftpd

可以使用FileZilla、xftp等工具

(注意:使用FileZilla遇到 服务器发回了不可路由的地址使用服务器地址代替 问题的话

进入站点管理>传输设置>设置成被动)

 

 

 

 

你可能感兴趣的:(docker,ftp,Centos7,docker,ftp)