安装目的
- 本文是《用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为学习文件夹,以便于调试。
版权申明
本文来自 第九区,转载请保留本段文字。