docker容器里怎么安装ftp协议
答案:1 悬赏:30 手机版
解决时间 2021-04-26 13:56
- 提问者网友:遮云壑
- 2021-04-26 04:10
docker容器里怎么安装ftp协议
最佳答案
- 五星知识达人网友:迟山
- 2021-04-26 04:27
1、创建容器
docker run --name centos_ssh_ftp --privileged=true -p 10.0.75.1:3222:22 -p 10.0.75.1:3223:3223 -p 10.0.75.1:3224-3299:3224-3299 -v e:/softs:/softs -it centos_ssh
说明:
--name centos_ssh_ftp #指定创建的容器的名称为centos_ssh_ftp
--privileged=true #授权,开启系统文件的权限,比如可以编辑iptables
-p <宿主ip:宿主端口:容器端口> #将宿主机的指定端口映射到容器的指定端口,就是子网对外开放的端口,可以多个,也可以设置区间段如,3224-3299,这里我们把3222映射到容器的22,则外网通过宿主机的3222端口进行ssh连接,其他端口是为vsftpd被动模式准备的
-v <宿主机目录:容器目录> #将宿主机目录映射到容器对应目录,可以直接操作目录和文件
-it <镜像名称> #以交互模式启动镜像,没什么可说的,启动完后会自动进入容器的root交互终端
2、安装ssh
先查看是否已经安装,看有没有sshd
chkconfig --list #该命令可以看到本机上的服务和启动状态,以后设置服务开机子自启动也会用到
yum -y
install openssh-server
安装完毕,查看chkconfig --list
sshd
手动启动sshd
service sshd start
设置开机自启动
chkconfig sshd on
查看是否设置成功,2-5都是on就是设置成功
# chkconfig --list sshdsshd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
此时在宿主机外通过ssh远程连接工具远程到宿主机ip(10.0.75.1)的端口(3222)应该就可以了
3、安装vsftpd
查看是否已经安装了vsftpd
rpm -aq|grep vsftpd
没有则安装
yum -y install vsftpd
添加一个ftp用户用来登录
useradd ftp
给ftp用户添加密码
passwd ftp
设置ftp用户的根目录,先创建目录/data/ftp
usermod -d /data/ftp ftp
将该目录的拥有者改为ftp
chown ftp /data/ftp
修改配置文件
vi
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO #不允许匿名登录
ftpd_banner=welcome to ftp service #设置连接服务器后的欢迎信息
max_clients=200 #指明服务器总的客户并发连接数为200
max_per_ip=3 #指明每个客户机的最大连接数为3
chroot_local_user=YES #只能查看自己的根目录
listen_port=3223 #设置FTP工作的端口号,默认的为21 这里改为3223, 如果还是21映射过来,能登录却取不到目录
pasv_enable=YES #开启被动模式
pasv_min_port=3224 #被动模式的最小端口
pasv_max_prot=3299 #被动模式使用的最大端口
pasv_addr_resolve=YES #启用被动模式的回传地址
pasv_address=10.0.75.1 #这里其实就是宿主机的ip
启动vsftp
service vsftp start
使用ftp连接工具,看是否正确连接,能否创建删除文件,是否可以访问根目录以外
设置开机自启动
chkconfig vsftpd on
查看是否设置成功,2-5都是on就是设置成功
# chkconfig --list
vsftpd
vsftpd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
docker run --name centos_ssh_ftp --privileged=true -p 10.0.75.1:3222:22 -p 10.0.75.1:3223:3223 -p 10.0.75.1:3224-3299:3224-3299 -v e:/softs:/softs -it centos_ssh
说明:
--name centos_ssh_ftp #指定创建的容器的名称为centos_ssh_ftp
--privileged=true #授权,开启系统文件的权限,比如可以编辑iptables
-p <宿主ip:宿主端口:容器端口> #将宿主机的指定端口映射到容器的指定端口,就是子网对外开放的端口,可以多个,也可以设置区间段如,3224-3299,这里我们把3222映射到容器的22,则外网通过宿主机的3222端口进行ssh连接,其他端口是为vsftpd被动模式准备的
-v <宿主机目录:容器目录> #将宿主机目录映射到容器对应目录,可以直接操作目录和文件
-it <镜像名称> #以交互模式启动镜像,没什么可说的,启动完后会自动进入容器的root交互终端
2、安装ssh
先查看是否已经安装,看有没有sshd
chkconfig --list #该命令可以看到本机上的服务和启动状态,以后设置服务开机子自启动也会用到
yum -y
install openssh-server
安装完毕,查看chkconfig --list
sshd
手动启动sshd
service sshd start
设置开机自启动
chkconfig sshd on
查看是否设置成功,2-5都是on就是设置成功
# chkconfig --list sshdsshd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
此时在宿主机外通过ssh远程连接工具远程到宿主机ip(10.0.75.1)的端口(3222)应该就可以了
3、安装vsftpd
查看是否已经安装了vsftpd
rpm -aq|grep vsftpd
没有则安装
yum -y install vsftpd
添加一个ftp用户用来登录
useradd ftp
给ftp用户添加密码
passwd ftp
设置ftp用户的根目录,先创建目录/data/ftp
usermod -d /data/ftp ftp
将该目录的拥有者改为ftp
chown ftp /data/ftp
修改配置文件
vi
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO #不允许匿名登录
ftpd_banner=welcome to ftp service #设置连接服务器后的欢迎信息
max_clients=200 #指明服务器总的客户并发连接数为200
max_per_ip=3 #指明每个客户机的最大连接数为3
chroot_local_user=YES #只能查看自己的根目录
listen_port=3223 #设置FTP工作的端口号,默认的为21 这里改为3223, 如果还是21映射过来,能登录却取不到目录
pasv_enable=YES #开启被动模式
pasv_min_port=3224 #被动模式的最小端口
pasv_max_prot=3299 #被动模式使用的最大端口
pasv_addr_resolve=YES #启用被动模式的回传地址
pasv_address=10.0.75.1 #这里其实就是宿主机的ip
启动vsftp
service vsftp start
使用ftp连接工具,看是否正确连接,能否创建删除文件,是否可以访问根目录以外
设置开机自启动
chkconfig vsftpd on
查看是否设置成功,2-5都是on就是设置成功
# chkconfig --list
vsftpd
vsftpd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯