Centos7 Docker部署/搭建vsftpd/ftp

获取vsftpd/ftp镜像

docker pull fauria/vsftpd

实例

使用自定义用户帐户创建容器,映射数据目录并启用主动被动模式:

docker run -d -v /data/ftp:/home/vsftpd \
-p 20:20 -p 21:21 -p 21100-21110:21100-21110 \
-e FTP_USER=myuser -e FTP_PASS=mypass \
-e PASV_ADDRESS=127.0.0.1 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \
--name vsftpd --restart=always fauria/vsftpd

工作讲解:

        该实例公开了端口2021. 此外,映射了一个目录:本机/data/ftp目录到容器/home/vsftpd目录

参数讲解:

-d后台启动
-v映射路径。(宿主机路径:容器路径)
-p映射端口。(需要开放的端口:容器默认开放端口)
-e设置环境变量
--name指定容器名称
--restart=always重启或启动Docker时,容器将自动重启或启动
FTP_USER默认 FTP 帐户的用户名。如果FTP_USER在运行时没有通过环境变量指定,admin将默认使用
FTP_PASS如果您没有通过 为默认的 FTP 帐户指定密码,FTP_PASS则会自动生成一个 16 个字符的随机字符串。
PASV_ADDRESSDocker 宿主机 IP / 主机名。(192.168.xx.xxx)
PASV_MIN_PORT这将用作被动模式端口范围的下限。给客户提供的下载服务随机端口
PASV_MAX_PORT

这将用作被动模式端口范围的上限。给客户提供的下载服务随机端口

共享目录主机上的/data/ftp目录就是共享目录,映射到docker中的/home/vsftpd目录

访问过程中需要开启或关闭的服务

#关闭防火墙
systemctl stop firewalld

#关闭SE
setenforce 0

#打开我的电脑,直接访问,无任何阻拦,记得登入账户和密码
ftp://192.168.xx.xxx

-----------------------------------------------------------------------------------------
#特定需求需要开防火墙端口

#开放端口
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=21100/tcp --permanent
firewall-cmd --zone=public --add-port=21101/tcp --permanent
firewall-cmd --zone=public --add-port=21102/tcp --permanent
firewall-cmd --zone=public --add-port=21103/tcp --permanent
firewall-cmd --zone=public --add-port=21104/tcp --permanent
firewall-cmd --zone=public --add-port=21105/tcp --permanent
firewall-cmd --zone=public --add-port=21106/tcp --permanent
firewall-cmd --zone=public --add-port=21107/tcp --permanent
firewall-cmd --zone=public --add-port=21108/tcp --permanent
firewall-cmd --zone=public --add-port=21109/tcp --permanent
firewall-cmd --zone=public --add-port=21110/tcp --permanent

#刷新firewalld
firewall-cmd --reload

-----------------------------------------------------------------------------------------
#关闭端口方法
firewall-cmd --zone=public --remove-port=21110/tcp --permanent
firewall-cmd --reload

 添加新的 FTP 用户添加到现有容器:

docker exec -it vsftpd bash
mkdir /home/vsftpd/myuser1
echo -e "myuser1\nmypass" >> /etc/vsftpd/virtual_users.txt
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
exit
docker restart vsftpd
#账户和密码都存在了容器中的这个文件里面
cat /etc/vsftpd/virtual_users.txt

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS 7上部署Redis集群需要以下步骤: 1. 更新yum:使用命令`yum update`来更新yum软件包管理器。 2. 安装Docker:使用命令`yum install docker`来安装Docker。 3. 启动Docker服务:使用命令`systemctl start docker`来启动Docker服务,并使用命令`systemctl enable docker`将其设置为开机启动。 4. 创建Redis集群的文件夹:使用命令`mkdir /usr/local/src/redis-cluster`来创建存放Redis集群配置文件和数据的文件夹。 5. 下载Redis配置文件:使用命令`wget https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf`来下载Redis配置文件。 6. 修改Redis配置文件:使用命令`vi redis.conf`打开Redis配置文件,并进行以下修改: - 将`bind 127.0.0.1`修改为`bind 0.0.0.0`,允许外部访问Redis。 - 将`protected-mode yes`修改为`protected-mode no`,关闭保护模式。 - 将`cluster-enabled no`修改为`cluster-enabled yes`,启用集群模式。 - 将`cluster-config-file nodes-6379.conf`修改为`cluster-config-file nodes.conf`。 - 将`appendonly no`修改为`appendonly yes`,开启AOF持久化。 - 将`requirepass foobared`修改为`requirepass yourpassword`,设置Redis密码。 - 保存并退出配置文件。 7. 创建Redis集群容器:使用下面的命令来创建6个Redis容器,并启动集群: ``` for port in `seq 6000 6005`; do docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} -v /usr/local/src/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/src/redis-cluster/${port}/data:/data --restart always --name redis-${port} --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf; done ``` 8. 构建Redis集群:进入其一个Redis容器,使用下面的命令来创建Redis集群: ``` docker exec -it <container_id> /bin/bash redis-cli --cluster create ip:6000 ip:6001 ip:6002 ip:6003 ip:6004 ip:6005 --cluster-replicas 1 ``` 注意替换`<container_id>`为任意一个创建的Redis容器的ID。 9. 配置每个Redis的密码:进入每个Redis容器,使用下面的命令来设置密码: ``` docker exec -it <container_id> /bin/bash redis-cli -a yourpassword config set requirepass yourpassword ``` 注意替换`<container_id>`为每个Redis容器的ID和`yourpassword`为你想设置的密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

系统运维

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值