docker 磁盘挂载、dockerc数据拷贝、docker磁盘清理相关命令、讲解及实例

查看挂载卷

docker volume ls

清理数据卷(命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像))

docker volume prune

查看docker磁盘

docker system df

存储镜像管理元数据的目录,以使用存储驱动命名。

/var/lib/docker/image/overlay2

docker镜像存储的联合挂载根目录

/var/lib/docker/overlay2

将文件拷贝到容器tom2中

docker cp logstash.yml tom2:/usr/local/tomcat/temp/

将容器中文件拷贝到宿主机

docker cp nginx66:/mnt/tt.sh ./data

宿主机文件复制到容器内

docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH

容器内文件复制到宿主机

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH

指定目录挂载mysql挂载并启动:

docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin -v /home/webjoin/data/mysql:/var/lib/mysql mysql:8.0.27 --character-set-server=utf8 --collation-server=utf8_general_ci

--privileged=true : 给root权限。

容器目录权限:

通过 -v 容器内路径: ro rw 改变读写权限

ro:readonly 只读

rw:readwrite 可读可写

docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

docker run -it -v /宿主机绝对路径目录:/容器内目录:rw 镜像名

例如:

docker run -d -P --name nginx05 -v lagouedu1:/etc/nginx:ro nginx

docker run -d -P --name nginx05 -v lagouedu2:/etc/nginx:rw nginx

ro 只要看到ro就说明这个路径只能通过宿主机来操作,容器内部是无法操作!

这里需要用root启动

查看官网说明文档,需要为挂载目录授权

chown -R 200 nexus3/

运行容器

docker run -itd --name nexus -p 8688:8081 -v /home/webjoin/data/nexus:/nexus-data/ sonatype/nexus3:3.37.3

查看容器启动日志

docker logs -f nexus3

命名方式挂载,在docker中指定挂载名称

docker run -itd --name nginx -p 80:80 -v crbt-nginx:/etc/nginx nginx:1.19.3-alpine

查看docker数据卷

docker volume ls

查看ct-nginx宿主机目录

docker volume inspect ct-nginx

进入docker数据卷默认目录

cd /var/lib/docker/volumes/ct-nginx

查看文件

ls

所有的文件docker默认保存在_data目录中

cd _data

删除容器

docker rm $(docker stop $(docker ps -aq))

查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在

ls

webjoin@eb61121:/home/webjoin>docker volume inspect ct-nginx

[

{

"CreatedAt": "2022-01-09T12:36:18+08:00",

"Driver": "local",

"Labels": null,

"Mountpoint": "/var/lib/docker/volumes/ct-nginx/_data",

"Name": "ct-nginx",

"Options": null,

"Scope": "local"

}

]

匿名的数据挂载方式,不指定挂载目录也不指定挂载卷名称

docker run -itd --name nginx -p 80:80 -v /etc/nginx nginx:1.19.3-alpine

查看docker数据卷

docker volume ls

数据卷挂载->数据卷容器,将一个既有容器作为数据挂载点

如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载

—volumes-from 参数所挂载数据卷

1.先创建一个数据卷容器,启动不启动都可以

docker run -d --name data-volume -v /data/nginx:/usr/share/nginx/html -v/data/mysql:/var/lib/mysql centos:7.8.2003

docker run -itd --name nginx01 -p 80:80 --volumes-from data-volume nginx:1.19.3-alpine

echo "gg nginx" > /data/nginx/index.html

http://192.168.198.100

docker run -itd --name nginx02 -p 81:80 --volumes-from data-volume nginx:1.19.3-alpine

http://192.168.198.100:81

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值