聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

从容器外部编辑容器内部文件的方法

2019-12-11 17:05 浏览: 2093 次 我要评论(0 条) 字号:

通常来讲,容器为了更小,是不会带编辑器的,但是,利用docker cp 命令copy出来,编辑后再copy进去显得又比较麻烦,于是:

上一个简单的脚本:docker-vim

#!/bin/bash
cname=$1
file=${2#/}
pid=$(docker inspect -f '{{.State.Pid}}' $cname)
[[ $pid == "" ]] && {
        echo $0 only use for running container; exit;
}

cd /proc/$pid/root
vim $file

用法:

docker-vim $contaner-name $file-in-container

注意:

  1. 脚本中没有直接vim /proc/$pid/root/$file  ,因为这个可以read到文件内容,但是write会失败; 所以,先cd到/proc/$pid/root ,再vim $file 这样是正常的
  2. 该方法 仅适用于运行这的容器,(通常这可能并不是问题),可能有更好的编辑文件的办法
    1. 将容器文件系统挂载到宿主机的某个位置
    2. 让容器动态挂载一个有编辑器程序的volume
    3. 做一个非常简易的无依赖的编辑器程序copy到容器里面


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复