名称 | 地址 | 说明 |
---|---|---|
阿里云服务器 | 阿里云翼计划 | 系统镜像选择Ubuntu1604 server版 |
Xshell+Xftp | Xshell和Xftp免费试用 | 分别用于ssh、ftp连接服务器 |
apt update
apt upgrade -y
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
docker --version
mkdir -p /etc/docker
说明:
- 一般安装docker后会默认存在
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
提示:
- 加速地址可以更换为下面的
国内 镜像源地址 官方中国区 https://registry.docker-cn.com
网易 http://hub-mirror.c.163.com
USTC https://docker.mirrors.ustc.edu.cn
阿里云 DaoCloud https://www.daocloud.io/mirror
systemctl daemon-reload
systemctl restart docker
参阅:
- 构建FTP文件传输服务器
docker search vsftpd
docker pull fauria/vsftpd
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e FTP_USER=user -e FTP_PASS=userpwd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
提示:
- PASV_ADDRESS需改为自己的宿主机ip
- -p 进行端口绑定映射
- -v 进行文件目录的映射
- FTP_UESR 和FTP_PASS如果设定了会在container的
/etc/vsftpd/virtual_users.txt里面- PASV_ADDRESS指的的宿主机地址
- PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围
- 必须在服务器的防火墙中开启20、21、22和21100/21110端口
docker exec -i -t vsftpd bash
vi /etc/vsftpd/virtual_users.txt
提示:
- 注意使用vi编辑指令,其中奇数行为用户名,临近的下一个偶数行为密码,创建container时参数未加入用户名和密码,系统会默认创建admin和随机密码.
添加新用户的文件夹,以用户名命名mkdir -p /home/vsftpd/<新用户名>
hash处理登录的验证信息并写入数据库/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
退出containerexit
或Ctrl+D
重启containerdocker restart vsftpd
验证ftpftp://<宿主机ip>
提示:
- 一般新搭建的ftp里面的内容为空,出现上图结果即搭建成功
命令 | 作用 |
---|---|
docker search <镜像名> |
搜索在线可用镜像名 |
docker pull <镜像名:tag> |
从官网拉取镜像 |
docker images -a |
查询所有的镜像,默认是最近创建的排在最上 |
docker ps |
查看正在运行的容器 |
docker ps -a |
查看所有容器 |
docker rmi -f <镜像ID> |
删除单个镜像 |
docker start <容器名or ID> |
启动某个容器 |
docker stop <容器名or ID> |
停止某个容器 |
docker kill <容器名or ID> |
杀掉某个容器 |
docker logs {容器ID或容器名称} |
查询某个容器的所有操作记录。 |
docker commit <容器ID> <镜像名称> |
制作镜像 使用以下命令,根据某个“容器 ID”来创建一个新的“镜像” |
docker run -d -p 58080:8080 --name javaweb wsl/javaweb:0.1 /root/run.sh |
启动一个容器,其中-d:表示以“守护模式”执行/root/run.sh脚本; -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。 -name:为容器命名 |
service docker start |
启动docker服务的命令 |
参阅:
- Docker命令
- Docker常用命令(一)
ftp
open <宿主机ip>
ls
或dir
单次下载lcd D:\test
get test.zip
提示:
get <文件名1> <文件名2>
等价于下载文件1并重命名为文件名2
批量下载lcd D:\test
mget a.txt test.zip
提示:
- 默认情况下,prompt是打开的;在传输多个文件期间,ftp 的提示将允许您选择性地检索或存储文件;如果 prompt 是关闭的,则 mget 和 mput 将传输所有文件
prompt
关闭/开启prompt,一般选择关闭
help
部分命令
参阅:
- 使用cmd连接操作ftp服务器
Q&A
第一种情况
Q:ls/dir无法使用
A:passive
注意:
- 修改完后重启vsftpd服务
docker restart vsftpd
docker exec -i -t vsftpd bash
vi /etc/profile
export LANG=en_US.utf8
source /etc/profile
参阅:
- CentOS 6.5上安装Docker与Docker对中文字符集的支持
vi /etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
## 欢迎词
ftpd_banner=welcome to here!
## 最大同时访问用户数
Max_clients=50
vi /etc/vsftpd/ftpusers
默认
第一种vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO
vi /etc/vsftpd/user_list
第二种vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO
userlist_file=/etc/ftpuser/user_list
vi /etc/ftpuser/user_list
默认
vi /etc/vsftpd/vsftpd.conf
## 注册的用户下载速度 200k
Local_max_rate=200000
## 匿名用户下载速度20K
Anon_max_rate=20000
vi /etc/vsftpd/vsftpd.conf
## 用户的配置文件
User_config_dir=/etc/vsftpd
vi /etc/vsftpd/user1
Local_max_rate = 3000
vi /etc/vsftpd/user2
Local_max_rate = 30000
提示:
- user1和user2需要添加到virtual_users.txt并存储到数据库中
vi /etc/vsftpd/virtual_users.txt
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
vi /etc/vsftpd/virtual_users.txt
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
chmod 600 /etc/vsftpd/virtual_users.db
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
anon_world_readable_only=NO
user1 有浏览目录、上传、改名、删除等权限
user2 有浏览目录、上传权限
user3 有浏览目录、下载的权限(且只能在 /misc/abc 目录下,速度为 20k )
vi /etc/vsftpd/vsftpd.conf
User_config_dir=/etc/vsftpd
user1vi /etc/vsftpd/user1
// 开放读的权限(如果没有添加此项,用户看到的目录是隐藏的)
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
Anon_other_write_enable=YES
user2vi /etc/vsftpd/user2
// 开放读的权限(如果没有添加此项,用户看到的目录是隐藏的)
Anon_world_readable_only=NO
Anon_upload_enable=YES
user3vi /etc/vsftpd/user3
// 开放读的权限(如果没有添加此项,用户看到的目录是隐藏的)
Anon_world_readable_only=NO
// 设置目录为本地
Local_root=/misc/abc
Anon_max_rate=20000
vi /etc/vsftpd/vsftpd.conf
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
Anon_other_write_enable=YES
chmod - R 777 /var/ftp/pub
参阅:
- 更多关于FTP优化,请看linux下ftp的搭建及优化
更新中......
原文摘自:https://www.jianshu.com/p/c84f6e6de002