Docker⽂件⽬录和容器内部操作Docker默认的⽂件⽬录位于Linux server的/var/lib/docker 下⾯。⽬录结构如下
|-----containers:⽤于存储容器信息
|-----image:⽤来存储镜像中间件及本⾝信息,⼤⼩,依赖信息
|-----network
|-----swarm
|-----tmp:docker临时⽬录
|-----trust:docker信任⽬录
|-----volumes:docker卷⽬录
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 []
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$

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。