一文学会使用 docker 数据卷挂载和网络

目录

1、数据卷挂载

2、docker 网络

 2.1、端口映射

2.2、docker 网络操作常用命令

 docker 数据卷挂载和网络配置是 docker 基础,数据卷 挂载是可以使 docker 和宿主机实现数据共享,网络是可以使宿主机能够访问 docker 容器。

1、数据卷挂载
# 1、在执行 run 命令的时候挂载
docker run -d --name 自定义容器名 -v 镜像id 
# 常用参数:
# -d:后台运行
# -v:数据卷挂载   宿主机绝对路径:容器绝对路径  可以配置多个
## 注:也可以直接写容器路径,会默认映射到主机目录,通过 docker inspect 查看。(当使用这个镜像来启动一个容器的时候,Docker 会把那个数据卷目录内的所有文件从镜像复制到容器。但如果数据卷是和主机目录绑定的话,那么镜像的数据就不会复制到容器了(这是为了防止主机文件被意外覆写)。使用数据卷后,容器生成镜像不会将数据保存,但是目录依然存在。
# 2、使用 --volumes-from 指定和某个容器共用挂载的数据卷,可以指定多个
# --volumes-from 容器名
2、docker 网络
 2.1、端口映射

        在 docker 中,宿主机无法直接访问 docker 容器内部,需要通过端口映射,向宿主机开发端口,可以实现宿主机访问容器。(容器是可以直接访问宿主机的)

# 1、运行镜像指定端口
docker run -d --name 自定义容器名 镜像id 
# 常用参数:
# -d:后台运行
# -it:连接到容器的终端(shell等)
# -P:容器启动随机端口映射,可以使用 docker ps 查看启动的容器 PORTS 属性,可以找到端口映射关系
# -p:指定端口映射   -p 8080:8080
# --net:指定使用的是哪个网络,使用 docker network ls 查看网络列表

# 2、指定ip地址
# -p:ip:外部端口号:容器端口号
# -p:ip::容器端口号       ip访问任意端口到容器端口,主机会随机分配一个
2.2、docker 网络操作常用命令
# 1、查看网络列表
docker network ls
# NETWORK ID     NAME      DRIVER    SCOPE
# ee451dfeac54   bridge    bridge    local
# cadd60889f70   host      host      local
# 86bf9d252d48   none      null      local
##########################################
# 注:网络名称解释
# bridge:为容器创建独立的网络命名空间,分配网卡、ip地址等网络配置
# host:容器的网络配置与宿主机一致(不建议使用,会破坏宿主机上的配置信息)
# none:为容器创建独立的网络命名空间,不进行网络配置,ip,网关等都是空

# 2、创建自定义网络
docker network create [OPTIONS] NETWORK
# 例:docker network create --driver=bridge --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --gateway=172.28.5.254 网络名
# 参数:
# --driver, -d	  默认是 bridge (bridge/host/none)
# --gateway       指定网关
# --scope         指定范围
# --subnet        子网
# --ip-range      指定分配的子网络范围
################################################
# 注:创建完网络后,在运行容器加上 --net参数,指定使用网络(特别重要:多个容器在同一个指定的网络中,可以使用容器名通信)

# 3、如果启动没有指定网络,可以后面通过 connect 将容器加入网络中,和其他容器进行通信
docker network connect [OPTIONS] NETWORK CONTAINER

# 4、常用网络命令
docker network create      # 创建网络
docker network ls          # 查看网络列表
docker network inspect     # 查看网络元数据信息
docker network connect     # 将容器加入到指定的网络中
docker network disconnect  # 将容器从指定的网络中断开
docker network rm          # 删除指定的网络
docker network prune       # 删除所有没有用到的网络(没有和任何容器绑定的网络)

总结:关于数据卷挂载和网络更加详细的内容将会在梳理 Dockerfile 中讲解。

        本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知其_所以然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值