创建基于centos7的docker、并进行安装vsftp等操作

一、vmware上安装centos7

教程见超详细虚拟机VMware安装Centos7教程(图文) - 知乎 (zhihu.com)

很详细,没有遇到什么问题

二、基于centos7 安装docker

参考Docker学习之CentOS 7安装配置 - 腾讯云开发者社区-腾讯云 (tencent.com)​​​​​​

主要步骤如下:

查看linux内核版本

cat /proc/version

更新yum源

yum update

安装

yum  install docker -y

检查版本

docker -v

安装完后,使用如下命令启动docker服务,并设为开机启动

service docker start
chkconfig docker on

下载官方centos镜像

docker pull centos

检查一下

docker images

看到如下结果便是可以了

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    latest              5d0da3dc9764        14 months ago       231 MB

可以重命名TAG

docker tag 5d0da3dc9764 docker.io/centos:centos

启动容器

docker run -i -t -v /root/software/:/mnt/software/ 5d0da3dc9764 /bin/bash

命令参数说明:

docker run <相关参数> <镜像 ID> <初始命令>

  • -i:表示以“交互模式”运行容器
  • -t:表示容器启动后会进入其命令行
  • -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

再用docker ps -a查看一下运行中的容器

三、安装vsftp

教程(1条消息) 使用docker安装vsftpd(非常简单)_Sparkle_wsl的博客-CSDN博客

创建目录

cd /home
mkdir ftp

拉取vsftpd镜像

docker pull fauria/vsftpd

启动镜像

docker run -d -v /home/ftp:/home/vsftpd -p 20:20 -p 60021: 21 -p 21100-21110 -e FTP_USER=root -e FTP_PASS=root -name vsftpd fauria/vsftpd

命令解释:

  • docker run -d                                                ->运行容器。
  • -v /home/ftp:/home/vsftpd                             -> -v (宿主机目录:容器目录) 将宿主机的目录和容器的目录挂载到一起,绑定之后宿主机有的文件容器中也有,反之相同。
  • -p 20:20 -p 60021: 21 -p 21100-21110          -> -p (宿主端口:容器端口), 其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。
  • -e FTP_USER=root -e FTP_PASS=root       ->指定环境变量,登录ftp的时候需要的用户名和密码
  • -name vsftpd fauria/vsftpd                             -> --name (容器名 镜像名)

测试

# 进入/home/ftp目录查看会发现多了一个root文件,别人上传到ftp的文件就在这里。
cd /home/ftp

//创建文件
touch 1.txt

浏览器访问

ftp://192.168.64.136:60021/

(到这儿就不行了,尝试了关闭防火墙,也不行)

firewall-cmd --permanent --add-port=20/tcp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=21100/tcp
firewall-cmd --permanent --add-port=21101/tcp
firewall-cmd --permanent --add-port=21102/tcp
firewall-cmd --permanent --add-port=21103/tcp
firewall-cmd --permanent --add-port=21104/tcp
firewall-cmd --permanent --add-port=21105/tcp
firewall-cmd --permanent --add-port=21106/tcp
firewall-cmd --permanent --add-port=21107/tcp
firewall-cmd --permanent --add-port=21108/tcp
firewall-cmd --permanent --add-port=21109/tcp
firewall-cmd --permanent --add-port=21110/tcp
firewall-cmd --reload

(有时间再试试)

四、某个镜像save成文件,删除,load装回

先save,记得镜像名:版本号

docker save docker.io/centos:centos -o centos.tar

通过ll查看一下是否有centos.tar

[root@localhost home]# ll
总用量 490148
-rw-------.  1 root    root    238581248 11月 19 23:11 centos.tar
drwx------.  3 ftptest ftpuser        91 11月 19 22:07 ftp
drwx------. 15 roo     roo          4096 11月 20 2022 roo

删除之前,先停止运行中的容器

docker stop $(docker ps -a -q)

删除具体镜像

docker rmi docker.io/centos:centos

装回

docker load -i centos.tar

再docker images查看,又有了,装回成功

POSITORY                TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos          centos              5d0da3dc9764        14 months ago       231 MB
docker.io/centos          latest              5d0da3dc9764        14 months ago       231 MB
docker.io/fauria/vsftpd   latest              007276d7208b        2 years ago         255 MB

五、端口映射

【精品】Docker新手快速入门上手教程:15_Docker容器宿主机端口映射【雷电 论坛 www.leidian6.com】_哔哩哔哩_bilibili

docker run -it -p 8888:8080 centos:latest

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值