Docker: 小白之路八(Docker使用篇之路径映射(挂载本地目录))

Docker的小白之路八(Docker使用篇之路径映射(挂载本地目录))

一、直接挂载本地目录到容器

在使用docker过程中,我们经常需要利用docker 容器的环境,但是又不想将代码传到容器中,这时我们就需要docker把宿主机上的目录挂载到容器中

root@felaim-pc:/home/felaim# docker run -it -v  /home/felaim/Documents/docker_tutorial:/usr/Downloads --name felaim_test  ubuntu:16.04 /bin/bash

参数说明:

  • -t: 在新容器内指定一个伪终端或终端
  • -i: 允许你对容器内的标准输入(STDIN)进行交互
  • -v: 是将宿主机目录,必须为绝对路径,冒号后为容器内挂载的路径
  • –name: 这里注意是双短线,来命名容器,不然每次docker会对容器进行自动命名,容器多了就分不清楚到底不同容器之间的关系了。
    在这里插入图片描述我们进入容器中,可以看到宿主机的目录已经映射到容器中了。
    在这里插入图片描述我们可以看到容器中Dockerfile的内容如上。

如果我们在本地端对文件进行修改呢?添加了一行test_modify的用户
在这里插入图片描述
再次在容器中打开Dockerfile文件,可以看到文件也是实时修改的!
在这里插入图片描述
这样你就可以在本地愉快的调试代码,减少了代码传输的麻烦和本地环境的配置,怎么现在才知道这个好东西/(ㄒoㄒ)/~~

咱们再使用一下docker ps,验证一下容器的名字,是felaim_test,验证无误。

在这里插入图片描述我们也可以使用 -p 标识来指定容器端口绑定到主机端口。

两种方式的区别是:

  • -P :是容器内部端口随机映射到主机的高端口。
  • -p : 是容器内部端口绑定到指定的主机端口。

这个在端口映射那章已经有具体示例了,就不讨论对应参数设定了。

二、使用数据卷

1. 创建数据卷容器

数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。感觉像是由一个容器定义的一个数据挂载信息。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。

root@felaim-pc:/home/felaim# docker run -v /home/felaim/Documents/docker_tutorial:/usr/Downloads --name dataVol ubuntu:16.04 /bin/bash

可以看到我们的dataVol已经创建成功
在这里插入图片描述

2. 创建使用数据卷的新容器

root@felaim-pc:/home/felaim# docker run -it --volumes-from dataVol --name test_dataVol  ubuntu:16.04 /bin/bash

参数说明:

  • –volumes-from: 这个也是双短线,这个参数用来指定使用哪个数据卷来挂载数据
    在这里插入图片描述
    在本地进行修改之后,再次查看容器中对应文件,发现容器中的文件内容也对应修改了,也就是咱们使用的数据卷也成功了。
    在这里插入图片描述

参考地址:

  1. https://blog.csdn.net/huludan/article/details/52641090?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
  2. https://www.runoob.com/docker/docker-container-connection.html
  • 11
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值