Docker数据卷的用法

1 创建镜像

docker run -p 80:80 --name nginx -d nginx:1.10

2 进入容器内部

docker exec -it nginx bash  ##或者、bin/sh

3查看nginx所在位置 

whereis nginx

4 cd /usr/share/nginx  里面有html

   cd /etc/nginx/

5 挂载的几种情形注意

hostPath:containerPath
docker run -d -P --name nginx -v /opt/nginx/html:/usr/share/nginx/html nginx;
 #为什么看到的是403而不是index页面内容。原来容器里面变为空了?主机的内容复制到容器中,导致,容器同步到了主机的空文件夹。
 #特别是配置问津,必须提前保证我们主机挂载的目录里面提前有内容。

#主机把配置文件给同步为空了;
docker run -d -P --name nginx -v /opt/nginx:/etc/nginx nginx
 #为什么docker ps看不到;出错了。open() "/etc/nginx/nginx.conf" failed (2: No such file or directory) nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)

 

6 删除nginx

docker rm -f nginx

 

7 Docker cp的使用

1、启动一个nginx,先不挂载。
  2、docker cp把运行中的nginx的内容复制出来
   Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
     docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
  docker cp nginx:/usr/share/nginx/html /opt/hahanginx
  nginx:/usr/share/nginx/html/. 把html里面的内容复制到 /opt/hahanginx
  nginx:/usr/share/nginx/html 把html文件夹复制到 /opt/hahanginx

 

8 自动创建文件夹不会递归创建  需要提前把父文件夹创建好  

  mkdir /opt/nginx
  docker cp nginx:/usr/share/nginx/html /opt/nginx 复制html
        docker cp nginx:/etc/nginx/. /opt/nginx/conf
        docker run -d -P --name nginx -v /opt/nginx/conf:/etc/nginx -v /opt/nginx/html:/usr/share/nginx/html nginx

posted @ 2020-05-17 10:15  jack-jin  阅读(94)  评论(0)    收藏  举报