使用docker-compose安装pure-ftp

安装目的

  • 本文是《用docker部署WEB项目》的第一篇
  • pure-ftp用于管理独立于doker容器之外的数据文件,建议安装到开发环境和测试环境并对程序员开放权限
  • pure-ftp安装简单, 建议作为第一个docker服务进行练习

前置条件

  • 学习 Docker从入门到实践
  • 测试环境建议为windows10专业版和ubuntu16.04,其它环境本人未测试
  • 已在服务器上安装docker ce和docker-compose

安装准备

  • 新建docker文件夹,如d:docker(windows)或/opt/docker(ubuntu),作为学习时的简化操作,它将映射到ftp用户根目录,用户可以通过ftp管理这个文件夹。
  • 新建docker/data/pure-ftpd/conf文件夹,用于存放pure-ftpd的配置数据,这样以后每次删除pure-ftpd容器重新安装时,就不用再重新设置ftp的用户名和密码了
  • 新建一个空文件夹,为与后续文章保持一致性,建议文件夹路径为docker/data/pure-ftpd/docker_compose
  • ubuntu下设置docker文件夹权限为0777,以便于后续操作和学习

新建docker-compose安装文件

在docker/docker_compose/pure-ftpd文件夹下新建一个文件,文件名为docker-compose.yml

version: "2"
services:
    ftp:
        container_name: pure_ftpd
        image: stilliard/pure-ftpd
        volumes:
            - "/opt/docker:/home/ftpusers/docker_admin"
            - "/opt/docker/data/pure-ftpd/conf:/etc/pure-ftpd"
        # restart: always
        ports:
            - "21:21"
            - "20000-20200:20000-20200"
            - "30000-30200:30000-30200"
        environment:
            PUBLICHOST: localhost

安装文件的命令说明

  • version 当前版本号
  • services 服务
  • ftp 服务名称,可随意命名
  • container_name 强制定义容器名称,如删除此行,系统会自动命名容器
  • image 从哪个镜像进行安装
  • volumes 映射文件路径
  • “/opt/docker/data:/home/ftpusers/docker_admin” 把之前建立的/opt/docker文件夹映射到用户根目录,windows下本行应改为
"d:/docker:/home/ftpusers/docker_admin"
  • “/opt/docker/data/pure-ftpd/conf:/etc/pure-ftpd” 把之前建立的/opt/docker/data/pure_ftp/conf文件夹映射到配置目录,windows下本行应改为
"d:/docker/data/pure-ftpd/conf:/etc/pure-ftpd"
  • restart: always 容器会随着docker自动重启,一开始测试时建议先把这行注释掉,等安装完成测试成功后重新安装时再加上这行。
  • ports 指定容器开放的端口
  • “21:21” ftp的默认端口
  • “20000-20200:20200” 被动模式端口
  • “30000-30200:30200” 主动模式端口
  • environment 设置镜像的环境变量
  • PUBLICHOST: localhost 默认服务器名称

进行安装

执行安装命令生成容器

docker-compose up -d

这条命令必须在docker/docker_compose/pure-ftpd下执行

-d参数让容器启动后在后台运行

添加用户

  • 执行命令进入容器内部
docker exec -it pure_ftp bash

执行这条命令后注意盘符变化,现在,你已经在容器内部了

  • 添加一个ftp用户
pure-pw useradd docker_admin -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/docker_admin
pure-pw mkdb
exit

输入第一行命令后系统会提示输入密码和确认密码

注意第一行命令结尾的路径,这正是我们之前映射的地址

安装完成

现在ftp容器已经成功安装了,可以通过ftp软件在docker文件夹进行上传和下载,后续我会写一些系列文章都将指定docker为学习文件夹,以便于调试。

版权申明

本文来自 第九区,转载请保留本段文字。

    原文作者:will
    原文地址: https://segmentfault.com/a/1190000014350094
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞