如何在Docker容器內(nèi)外互相拷貝數(shù)據(jù)
從容器內(nèi)拷貝文件到主機上
[root@oegw1 soft]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d418a7b6021 postgres "/docker-entrypoint. 7 hours ago Up 7 hours test1 [root@oegw1 soft]# docker exec -t -i 8d418a7b6021 /bin/bash root@oegw1:/var/lib/postgresql# pwd /var/lib/postgresql root@oegw1:/var/lib/postgresql# ls data root@oegw1:/var/lib/postgresql# exit exit [root@oegw1 soft]# docker cp 8d418a7b6021:/var/lib/postgresql/data /opt/soft/
完成拷貝
docker run -v /opt/soft:/mnt 8d418a7b6021
從主機上拷貝文件到容器內(nèi)
1.用-v掛載主機數(shù)據(jù)卷到容器內(nèi)
通過-v參數(shù),冒號前為宿主機目錄,必須為絕對路徑,冒號后為鏡像內(nèi)掛載的路徑。
[root@oegw1 soft]# docker run -it -v /opt/soft:/mnt postgres /bin/bash
這種方式的缺點是只能在容器剛剛啟動的情況下進行掛載
2.直接在主機上拷貝到容器物理存儲系統(tǒng)
[root@oegw1 soft]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d418a7b6021 postgres "/docker-entrypoint. 8 hours ago Up 8 hours test1 [root@oegw1 soft]# docker inspect -f '{{.Id}}' 8d418a7b6021 8d418a7b60216ed677ada5ca5fe1e82a953af6702837e8e05c95b16d23241d47
在docker中,其實是映射到/var/lib/docker/devicemapper/mnt/8d418a7b60216ed677ada5ca5fe1e82a953af6702837e8e05c95b16d23241d47/這個文件夾中的這個文件下面就是docker中的根目錄里面的內(nèi)容,然后我們就可以按照我們想要的內(nèi)容隨便進行拷貝了
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用Docker部署openGauss國產(chǎn)數(shù)據(jù)庫的操作方法
openGauss是一款支持SQL2003標準語法,支持主備部署的高可用關系型數(shù)據(jù)庫,這篇文章主要介紹了使用Docker部署openGauss國產(chǎn)數(shù)據(jù)庫,需要的朋友可以參考下2022-10-10docker容器中布置靜態(tài)網(wǎng)站的實現(xiàn)
這篇文章主要介紹了docker容器中布置靜態(tài)網(wǎng)站的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-012025最新Docker國內(nèi)可用鏡像源倉庫地址分享
在使用Docker時,您是否經(jīng)常遇到拉取鏡像緩慢或下載中斷的問題?特別是對于我們在國內(nèi)的開發(fā)者,網(wǎng)絡條件限制常常導致鏡像下載速度令人頭疼,為了讓您的開發(fā)工作更加順暢,小編特意收集并整理了2025年最新、可用的國內(nèi)Docker鏡像源地址,希望能大幅提升您的Docker下載速度2025-02-02