Centos7 Docker 文件拷贝_入门试炼04
生活随笔
收集整理的這篇文章主要介紹了
Centos7 Docker 文件拷贝_入门试炼04
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前提:容器服務(wù)必須啟動才可以進(jìn)行文件拷貝
一、常用命令
| 宿主機(jī)某一文件/目錄->>容器內(nèi)部 | docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄 |
| 容器內(nèi)部某一文件/目錄->>宿主機(jī) | docker cp 容器名稱:容器內(nèi)目錄/文件 宿主機(jī)目錄/文件 docker cp 容器名稱:容器內(nèi)目錄/文件 宿主機(jī)目錄和文件 |
二、案例演示
2.1. 將宿主機(jī)文件拷貝到容器內(nèi)
docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄 需求:將宿主機(jī)/root/fileDir目錄下面的1.txt復(fù)制到oracle_11g容器的/目錄下面操作日志: [root@localhost fileDir]# pwd /root/fileDir [root@localhost fileDir]# docker cp /root/fileDir/1.txt oracle_11g:/ [root@localhost fileDir]# docker exec -it oracle_11g /bin/bash [oracle@5a1df27b5ede /]$ ll2.2. 將容器內(nèi)部文件復(fù)制到宿主機(jī)
操作聲明:在宿主機(jī)上操作
格式:docker cp 容器名稱:容器內(nèi)拷貝的文件 宿主機(jī)目錄或者宿主機(jī)文件 注:如果是文件,而后面的文件名與容器內(nèi)部文件名稱不一致,則代表將容器 內(nèi)部拷貝的文件復(fù)制到宿主機(jī)上并對文件進(jìn)行重命名操作 需求說明: 將oracle_11g數(shù)據(jù)庫的監(jiān)聽文件復(fù)制到宿主機(jī)上有3種操作方式第1種:指定宿主機(jī)的目錄 #簡言之,就是講容器內(nèi)部的文件拷貝到宿主機(jī)的指定目錄下面將oracle_11g數(shù)據(jù)庫的tnsnames.ora監(jiān)聽文件復(fù)制到宿主機(jī)上的/目錄下面 docker cp oracle_11g:/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora /第2種:指定宿主機(jī)的文件名稱 #簡言之,就是將容器內(nèi)部的文件拷貝到宿主機(jī)上并指定文件名稱將oracle_11g數(shù)據(jù)庫的tnsnames.ora監(jiān)聽文件復(fù)制到宿主機(jī)上的,文件名稱為tnsnames.ora oracle_11g:/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora tnsnames.ora這里沒有指定宿主機(jī)目錄,至指定了拷貝到宿主機(jī)文件名稱,那么拷貝的文件會去哪呢? 當(dāng)前目錄在那執(zhí)行的拷貝命令,文件就在那里(當(dāng)前目錄下面)第3種:指定宿主機(jī)的目錄和文件名稱 #簡言之,就是將容器內(nèi)部的文件拷貝到宿主機(jī)的指定目錄和并指定文件名稱將oracle_11g數(shù)據(jù)庫的tnsnames.ora監(jiān)聽文件復(fù)制到宿主機(jī)上的,文件名稱為tnsnames.ora oracle_11g:/home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora /tnsnames.ora補(bǔ)充: 1>在第2、3種中,文件如果不一致,則代表文件重命名. 2>在第3種中,當(dāng)前目錄在~目錄下面執(zhí)行命令,文件也不在~目錄下面,因?yàn)樵诿钪幸呀?jīng)指定宿主機(jī)目錄三、目錄拷貝
3.1. 將宿主機(jī)上的文目錄拷貝到容器內(nèi)
#1.在/root目錄下創(chuàng)建testdir文件夾,然后再文件架下面創(chuàng)建1.html mkdir testdir cd testdir echo "123" >> 1.html cd ~ #2.將/root/testdir目錄,復(fù)制到oracle_11g容器的/目錄下面 docker cp /root/testdir oracle_11g:/ #3.進(jìn)入oracle_11g容器 docker exec -it oracle_11g /bin/bash #4. 在/目錄下面查看手否有testdir文件夾 ll3.2. 將容器內(nèi)部目錄復(fù)制到宿主機(jī)的指定目錄
#1.將宿主機(jī)的/roottestdir目錄刪除 rm -rf testdir #2.將oracle_11g容器的/目錄下面的testdir文件夾,復(fù)制到宿主機(jī)上的/root目錄下面 docker cp oracle_11g:/testdir /root #3.在/root目錄下面查看手否有testdir文件夾 ll格式:
- docker cp 容器名:目錄下的文件/目錄 文件名/目錄名
- docker cp 容器名:目錄下的文件 文件名
- docker cp 容器名:目錄下的目錄 目錄名
注:后臺的文件名如果不一致,代表重命名
想學(xué)習(xí)更多微服務(wù)、分布式、中間件、數(shù)據(jù)庫、項(xiàng)目快速構(gòu)建等系列技術(shù)
請?jiān)L問Gblfy主頁:https://blog.csdn.net/weixin_40816738
讓我們一起進(jìn)步!!!
總結(jié)
以上是生活随笔為你收集整理的Centos7 Docker 文件拷贝_入门试炼04的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java.lang.reflect.In
- 下一篇: Guns 添加功能实现_入门试炼05