建立或修改 docker 容器內部檔案

2022-07-07 22:54:17 字數 2019 閱讀 6969

容器內部沒有圖形化的編輯工具,只有 docker cp 命令將檔案複製出來,修改,再複製回去,總之,太麻煩了。

看我的實現效果:

把本地路徑省了,自動複製到 /tmp/container-name/ 目錄中,然後自動開啟檔案。上傳的時候,同樣也是到這個目錄去找檔案,然後複製回去。

由於每次 open 命令都是重新複製檔案出來,所以,也可以驗證 push 是否生效。

#開啟檔案或目錄

#可以開啟 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

}#根據檔案所在路徑建立目錄

function mkfdir()

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...