安装目的
项目整体计划是用docker-compose部署lnmp服务器
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/docker_compose/pure-ftpd
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 mkdbexit
输入第一行命令后系统会提示输入密码和确认密码
注意第一行命令结尾的路径,这正是我们之前映射的地址
安装完成
现在ftp容器已经成功安装了,可以通过ftp软件在docker文件夹进行上传和下载,后续我会写一些系列文章都将指定docker为学习文件夹,以便于调试。
版权申明
本文来自 第九区,转载请保留本段文字。
作者:简单5409
链接:https://www.jianshu.com/p/b02b9c21afaf