Linux两种方式搭建FTP的Docker镜像,以及容器内部编码解决

一、Linux搭建Docker版FTP

下面是一种直接快速拉取搭建的ftp命令,但编码方式不符合我的需求
命令详解https://blog.csdn.net/weixin_41753664/article/details/123374929

docker run -d -p 2121:21 -p 2020:20 -p 21100-21110:21100-21110 -v /home/vsftpd/ftp/:/home/vsftpd/zhangsan/ -e FTP_USER=zhangsan -e FTP_PASS=123 -e PASV_ADDRESS=192.168.120.130 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

二、修改 Docker 容器内部 locale 系统编码

容器内部修改编码方式:https://www.cnblogs.com/z-belief/p/6148463.html

注意这里存在问题,容器重启之后,文件还是被更改后的状态,但locale显示仍未设置的状态,很疑惑,不是永久修改该容器的配置文件了吗,也许是配置文件未生效。

#相关命令
docker run -it 103380db15a9 /bin/bash

locale
 echo $LANG
 echo $LC_ALL
 
vi /etc/profile
export LC_ALL=en_US.utf8
export LANG=en_US.utf8

在这里插入图片描述

最终待实现效果,这个方式容器内部编码并未永久改变

在这里插入图片描述

三、编写Dockerfile方式加载带UTF-8编码环境的镜像

Dockerfile命令详解: https://blog.csdn.net/m0_46090675/article/details/121846718

Dockerfile文件内容:

FROM fauria/vsftpd
VOLUME /home/vsftpd/zhangsan/

ENV FTP_USER zhangsan
ENV FTP_PASS 123
ENV PASV_ADDRESS 192.168.120.130
ENV PASV_MIN_PORT 21100
ENV PASV_MAX_PORT 21110
ENV LANG en_US.utf8

EXPOSE 2121
EXPOSE 2020
EXPOSE $PASV_MIN_PORT-$PASV_MAX_PORT

3.1Dockerfile构建镜像

docker build -t vsftpd:myftp .

3.2运行自己构建的镜像,并挂载镜像暴露的端口号,卷轴

docker run -d -p 2121:21 -p 2020:20 -p 21100-21110:21100-21110 -v /home/vsftpd/ftp/:/home/vsftpd/zhangsan/ --name vsftpd --restart=always vsftpd:myftp

3.3进入Dockerfile容器

docker exec -it b6fdb9cde324 /bin/bash

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值