Docker文件目錄和容器內部操作


Docker默認的文件目錄位於Linux server的/var/lib/docker 下面。目錄結構如下

 

|-----containers:用於存儲容器信息

|-----image:用來存儲鏡像中間件及本身信息,大小,依賴信息

|-----network

|-----swarm

|-----tmp:docker臨時目錄

|-----trust:docker信任目錄

|-----volumes:docker卷目錄



還可以通過docker指令確認文件位置:
docker info

 

 

 

 查看某個容器的文件目錄:

 docker exec 容器name ls

 

#docker鏡像內的文件互相拷貝

1、將本地文件拷貝到docker 鏡像內

 docker cp 本地路徑 容器Id或name:容器目錄

 docker cp /Users/howey/Documents/apache-maven-3.5.2/ containername:/opt
 

 
2、將docker內文件拷貝到本地文件夾內

  docker cp 容器Id或name:本地路徑 鏡像路徑

  docker cp containername:/Users/howey/Documents/apache-maven-3.5.2 /opt/
 

 

 如何進入容器內部呢:使用docker exec可以進入Docker容器並運行指令

#docker exec 在運行的容器中執行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

 

OPTIONS說明:

  • -d :分離模式: 在后台運行

  • -i :即使沒有附加也保持STDIN 打開

  • -t :分配一個偽終端

通過 exec 命令對指定的容器執行 bash:

# docker exec -it 容器ID或name  bash

 -it : 目前的理解淺薄,就是要等在容器內的命令執行完畢才會出來到當前操作; 沒有-it的加 就相當於在容器內執行一下命令,不等容器內部是否執行完畢直接出來.

案例:在容器內創建sqlserver目錄,如下所示,安裝sqlserver后實際上已經自動創建了data目錄,映射的時候無需再次創建直接使用即可.

docker exec -it  sqlserver bash
mssql@649b4b891718:/$ mkdir /var/opt/mssql/data mkdir: cannot create directory '/var/opt/mssql/data': File exists mssql@649b4b891718:/$ ls #查看目錄列表 bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var mssql@649b4b891718:/$ cd /var/opt #轉到opt目錄 mssql@649b4b891718:/var/opt$ ls #查看opt目錄 mssql mssql@649b4b891718:/var/opt$ cd mssql mssql@649b4b891718:/var/opt/mssql$ ls data log secrets mssql@649b4b891718:/var/opt/mssql$

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM