Docker常用命令——数据卷管理 / 端口映射 / 容器互联

目录

[一,Docker 数据卷管理](#一,Docker 数据卷管理)

1.创建数据卷

2.查看数据卷详细信息

3.列出已有的数据卷

4.删除指定的数据卷

5.绑定数据卷

6.数据卷容器

7.利用数据卷容器迁移备份

二,端口映射

[1.查询端口 的 TCP 监听状态及对应的进程](#1.查询端口 的 TCP 监听状态及对应的进程)

2.指定端口映射-p

3.随机映射到一个端口-P

[4.发起http get请求](#4.发起http get请求)

三,容器互联

1.创建运行两个容器

2.进入web测试互联


一,Docker 数据卷管理

1.创建数据卷

复制代码
docker volume create(默认存储在/var/lib/docker/volumes)

2.查看数据卷详细信息

复制代码
docker volume inspect

3.列出已有的数据卷

复制代码
docker volume ls

4.删除指定的数据卷

复制代码
docker volume prune (清理无用的数据卷)

docker volume rm 

5.绑定数据卷

volume普通数据卷

复制代码
docker run -itd --name yxcununtu --mount type=volume,source=yxctext,target=/yxctest ubuntu bash 
 
docker run:Docker 启动容器的核心命令
-i:保持容器标准输入(STDIN)打开,支持交互
-t:分配一个伪终端(TTY),和-i配合实现 "交互式终端"
-d:让容器在 ** 后台(守护进程模式)** 运行
--name yxcubuntu:给容器命名为yxcubuntu(方便后续管理)
--mount type=volume,source=yxctest,target=/yxctest:
配置 ** 数据卷(Volume)** 挂载
type=volume:挂载类型是 Docker 管理的卷
source=yxctest:使用名为yxctest的卷(不存在会自动创建)
target=/yxctest:将卷挂载到容器内的/yxctest目录
ubuntu:基于ubuntu镜像创建容器
bash:容器启动后执行的命令(进入 bash 终端)

bind绑定数据卷

复制代码
docker run -itd --name myubuntu --mount type=bind,source=/myubuntu,target=/myubuntu ubuntu bash

-v旧语法绑定挂载

复制代码
docker run -itd --name test -v /aaa:/aaa ubuntu bash
 
-v /aaa:/aaa:绑定挂载(宿主机目录→容器目录)
把宿主机的/aaa目录,直接挂载到容器内的/aaa目录
(注意:这里用的是-v(旧语法),效果和--mount类似,但-v会自动创建不存在的宿主机目录)

6.数据卷容器

--volumes-from将容器挂载到一个存放数据的容器内

复制代码
docker run -itd --volumes-from dbdata --name db1 ubuntu bash

7.利用数据卷容器迁移备份

1.压缩文件夹

复制代码
 tar -zcvf /dbdata_backup.tar.gz ./dbdata

2.cp备份

复制代码
cp dbdata_backup.tar.gz ./backup/

3.挂载到新的容器内

复制代码
docker run -itd -v /backup:/backup ubuntu bash

PS:

docker数据卷,即使容器在运行中出现故障,用户也不必担心数据发生丢失只需要快速创建容器

可以在容器之间共享使用和重用

在本地创建的数据容器能读取,反之也可以读取

二,端口映射

端口范围:0-65535

-p:可以指定映射的端口,在一个端口上只能绑定一个容器

-P:docker会随机映射到一个端口

1.查询端口 的 TCP 监听状态及对应的进程

复制代码
ss -tlnp | grep 端口号
复制代码
netstat -tlnp | grep 端口号

2.指定端口映射-p

复制代码
docker run -itd -p 80:80 nginx:1.28

3.随机映射到一个端口-P

复制代码
docker run -itd -P nginx

4.发起http get请求

复制代码
curl IP:端口号
eg.curl 172.17.0.3:80

三,容器互联

1.创建运行两个容器

通过--link db参数,在容器web和容器db之间建立了网络链接

复制代码
docker run -itd --name db ubuntu
docker run -itd --name web --link db centos

2.进入web测试互联

复制代码
docker exec -it web bash  //进入 web 容器进行交互式操作
cat /etc/hosts            //查看系统 hosts 文件内容,这个文件用于定义本地的域名与 IP 地址映射
ping 172.17.0.2 或 ping ID/名字
相关推荐
qq_452396233 小时前
第十五篇:《UI自动化中的稳定性优化:解决flaky tests的七种武器》
运维·ui·自动化
j_xxx404_3 小时前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
Elastic 中国社区官方博客4 小时前
Elastic-caveman : 在不损失 Elastic 最佳效果的情况下,将 AI 响应 tokens 减少64%
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
jsons15 小时前
给每台虚拟机设置独立控制台密码
linux·运维·服务器
皮皮冰燃5 小时前
docker-18-WSL中安装docker并部署flask服务
docker·容器·flask
少年白char6 小时前
整理上万首音乐后的完整工作流:下载、刮削、播放与避坑指南
docker·nas·musictag·音乐刮削·音乐标签
云栖梦泽7 小时前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
福大大架构师每日一题7 小时前
openclaw v2026.4.24 发布:Google Meet 深度集成、DeepSeek V4 上线、浏览器自动化与插件架构全面升级
运维·架构·自动化·openclaw
yipiantian7 小时前
在Claude项目中实现跨目录访问Skills
linux·运维·服务器
Agent产品评测局7 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化