解决Docker容器内部无法使用vim命令

原因:容器(我现在操作的zookeeper)内默认是不支持使用 vim 指令的,只能使用 vi 指令.
注意容器外部安装的vim指令只可以在外部使用

修改:在zookeeper容器内部安装vim指令

zookeeper容器内部报错:bash:vim:command not found

步骤一:进入这个容器,可以使用以下命令:
    docker exec -it zookeeper /bin/bash
步骤二:
    安装vim软件(可能需要安装多次才能成功)
    apt-get update
    apt-get install -y vim
结果:成功运行vim修改文件,但是只是zookeeper能执行vim,其他容器依然不行


————————————————————————————————————————————————
但想在创建 centos 容器后就支持 vim 指令,需要自定义 centos,编写 dockerfile:
转网上看到的文章链接Docker dockerfile 案例:centos 支持 vim_centos docker 安装vim-优快云博客

如果出现    apt-get:找不到命令
原因是:CentOS的软件安装工具不是apt-get,而是yum,使用yum命令代替apt-get即可:
    yum update
    yum install -y vim

Docker容器中,由于权限限制,直接使用像`vim`这样的文本编辑器打开和修改JAR文件通常是不可能的。这是因为容器内部的工作目录默认是受限的,为了保证安全性和隔离性,非root用户的普通用户(比如容器内的应用用户)可能没有足够的权限去修改主机的文件系统。 如果你需要在Docker内修改JAR文件,一般建议采取以下步骤: 1. **映射卷** (Volume Mounting): 当你在创建Docker容器时,可以将主机的一个目录挂载到容器内部的某个路径,允许容器访问该目录里的文件,包括JAR文件。例如: ``` docker run -v /path/on/host:/path/in/container your-image:tag vim /path/in/container/your-jar.jar ``` 2. **使用docker exec**: 先在容器外部编辑好文件,然后使用`docker exec`命令连接到容器并在其中运行命令。先保存更改,再使用 `docker cp` 将修改后的文件复制回宿主机: ``` docker exec -it container_id vim your-jar.jar # 修改完成后,将文件保存并复制回主机 docker cp container_id:/path/to/jarfile /path/on/host/ ``` 3. **使用Dockerfile构建镜像**:如果你需要频繁修改JAR并打包成新的镜像,可以在Dockerfile中编写处理JAR文件的步骤,并构建一个新的镜像。 4. **使用支持的编辑器替代**:如果确实需要在Docker里直接编辑JAR,可以考虑使用无GUI、不需要权限的文本编辑器如nano、micro等。 总之,在Docker中修改宿主机文件系统的文件并不常见,除非特别需要,否则应该尽量在容器外部处理并更新JAR包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值