容器內部沒有圖形化的編輯工具,只有 docker cp 命令將檔案複製出來,修改,再複製回去,總之,太麻煩了。
看我的實現效果:
把本地路徑省了,自動複製到 /tmp/container-name/ 目錄中,然後自動開啟檔案。上傳的時候,同樣也是到這個目錄去找檔案,然後複製回去。
由於每次 open 命令都是重新複製檔案出來,所以,也可以驗證 push 是否生效。
#開啟檔案或目錄function mkfdir()#可以開啟 docker 容器中的檔案,如: open container:/home/test.txt 注:引數要冒號開頭
#會把容器中的檔案複製到 /tmp//目錄中,如果複製為成功,則在該目錄新建。
#可以再結合乙個 push container:/home/test.txt 就會找到 /tmp 並複製到容器中
#如果沒有引數,表示開啟當前目錄
#由於我是用的 wsl 開啟當前目錄的命令 explorer.exe . 請換成 xdg-open 命令
#由於我的編輯器是 vscode 所以 開啟檔案的命令是 code filename 換成你自己的,比如:gedit
function
open()""
$"local
file="
/tmp/$1/`basename $2`
"mkfdir $
file
docker
cp $1:$2 $file
2>/dev/null
open $
file
;;
'') explorer.exe .;; #xdg-open $pwd;;
*)mime=`file --mime-type $option | awk''
` #如果是符號鏈結
if [ $mime == '
inode/symlink
' ];then
option=`readlink -e $option`
mime=`file --mime-type $option | awk''
`
fiif [ -n "
" ];then
#用編輯器開啟
code $option
elif [ "
$mime
" = '
inode/directory
' ];then
cd $option &&explorer.exe .
#xdg-open $option
elif [ "
$mime
" != '
cannot
' ];then
#預設方式開啟
color red
"檔案型別:$mime
"explorer.exe $option
#xdg-open $option
else
color red
"新建: $option
"[ ! -w . ] && sudo
touch
$option
code $option
fi;;
esac
}#可以推送 git
#可以結合上面 open 可以再把檔案推送到容器
function
push()""
$"; docker cp /tmp/$1/`basename $2` $1:$2
;;
'') git push;;
*) git add $@; git commit -m '
日常更新
'; git push;;
esac
}#根據檔案所在路徑建立目錄
docker進入容器內部
docker ps a 檢視狀態 進入容器方式 安裝nsenter wget configure without ncurses make nsenter sudo cp nsenter usr local bin 安裝好之後使用以下命令進入容器 nsenter target 容器pid mount...
Docker建立容器
容器是映象的乙個執行例項,是基於映象執行的輕量級環境,是乙個或者一組應用。怎樣建立容器?將容器所基於的映象名稱傳入即可,docker會從本地倉庫中尋找該映象,如果本地倉庫沒有,則會自動從遠端倉庫中拉取。docker pull nginx 拉取nginx最新版本的映象 檢視映象 建立nginx容器 d...
Docker建立MySQL容器
本文目的是建立乙個mysql的image,並且在新建立出來的容器裡自動啟動mysql服務接受外部連線 步驟 1.首先建立乙個目錄並在目錄下建立乙個dockerfile,檔案內容如下 from centos centos6 maintainer fanbin kong kongxx hotmail.c...