Docker 基础(三)容器数据卷,匿名挂载与具名挂载

容器数据卷

命令

容器数据持久化,删除容器,映射的主机目录数据不会变(抓的是周树人和我鲁迅有什么干系)

docker run -it -v 主机目录:容器目录
# tomcat
docker run -d --name tomcat02 -p 8081:8080 -v 
/env/tomcat02/webapps:/usr/local/tomcat/webapps tomcat

# mysql
docker run -d -p 3306:3306 -v /env/mysql/conf:/etc/mysql/conf.d -v /env/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=sasa --name mysql01 mysql:5.7

具名挂载和匿名挂载

匿名挂载

docker run -d -P --name nginx02 -v /etc/nginx nginx
[root@base01 data]# docker run -d -P --name nginx02 -v /etc/nginx nginx
0ff07bb415ce8c53a7787d4592d33fe6bab


[root@base01 data]# docker volume ls
DRIVER              VOLUME NAME
local               2d035f12c6c17fd011eb579f909
local               8e87476651952f27f25e4657bc8


没有指定主机挂载目录

-P 随机端口号

-p 指定端口号

docker volume ls 查看挂载卷

具名挂载

docker run -d -P --name nginx03 -v juming_nginx:/etc/nginx nginx
[root@base01 data]# docker volume ls
DRIVER              VOLUME NAME
local               juming_nginx

查看卷的位置

docker volume inspect 卷名

# 就是Docker的卸载目录
docker volume inspect juming_nginx
[
    {
        "CreatedAt": "2020-10-29T22:51:43+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/juming_nginx/_data",
        "Name": "juming_nginx",
        "Options": null,
        "Scope": "local"
    }
]

区分挂载

-v 容器内路径 匿名挂载

-v 卷名:容器内路径 具名挂载

-v 主机路径:容器内路径 指定路径挂载

拓展

读写权限 read-only read-write
docker run -d -P --name nginx03 -v juming_nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx03 -v juming_nginx:/etc/nginx:rw nginx

你可能感兴趣的:(笔记,Docker,docker,linux,centos)