如何使用docker网络


这篇文章主要讲解了“如何使用docker网络”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用docker网络”吧!之前我们创建一个容器,并且在容器中创建了一个文件。然后将容器重新提交成一个镜像,这样我们使用该镜像创建新容器时就包含这个文件了,但是这种方案实际上并不推荐,docker对于数据存储方式提供数据卷和数据卷容器两种方式来处理。数据卷和linux挂载目录非常类似,实际上数据卷就是一个可以供容器使用的特殊目录。网上对于数据卷的创建和挂在有挺多方法,其实都差不多。这里我们将使用-v这种方式创建和挂在数据卷。sudo docker run -ti --name volume1 -v /myDir ubuntu:16.04 bash比如使用以上语句,我们可以创建 volume1的容器,并且创建了一个 myDir的数据卷挂在该容器上。我们可以看到在容器中存在一个 myDir目录,这个目录就是我们挂载的数据卷。另外一种方式是,将主机上的一个目录映射成为容器的数据源。 sudo docker run -ti --name volume2 -v /home/test/:/myShare ubuntu:16.04 bash 这样,主机上的/home/test目录就映射到了容器的myShare文件夹。 PS:默认情况下,数据卷的挂在都是读写权限,可以使用 :ro指定为只读 sudo docker run -ti --name volume2 -v /home/test/:/myShare:ro ubuntu:16.04 bash可以使用docker volume命令管理数据卷。数据卷容器实际上就是一个普通的容器,不过这个容器专门作为数据卷供其他容器挂载。首先创建一个数据卷容器(和上面创建带有数据卷的容器命令一样) sudo docker run -ti -d -v /dataVolume --name v0 ubuntu:16.04 以上创建一个容器 v0,包含了一个数据卷,目录是 /dataVolume然后再创建一个容器,挂载刚才的容器 sudo docker run -ti --volumes-from v0 --name v1 ubuntu:16.04 bash 这样,在刚才的新容器中也能知道v0的数据卷挂载目录 /dataVolumePS:数据卷容器挂载时不一定要处于运行状态ubuntu容器默认并没有带基本的网络辅助工具 通过以下代码安装了 ping vim apache2 openssh工具然后修改 vim /etc/ssh/sshd_config 把“PermitRootLogin”的内容改为 yes,保存。 然后 使用命令 passwd 香港云主机设置root密码然后将这个容器重新打包成一个镜像 sudo docker commit -m "commit message" {containerName} {imageName}:{tag}当我们从这个镜像创建一个容器并且开启各种服务之后,我们遇到了一个问题,如何从外网访问这个容器内容的apache服务器? 所以最重要的东西就是端口映射,在使用run创建一个容器的时候,需要使用-p参数建立端口映射。比如我们服务器地址是xxx,镜像(上面搞的)是 net:v1.0 sudo docker run -ti --name web -p 80:80 net:v1.0 bash然后在容器中开启apache服务。最后访问 xxx:80 就会被映射到 web容器的 80端口,实际访问了容器的apache服务器。PS: Docker 默认使用 TCP 协议在容器之间进行网络通信,如果你需要 UDP,可以使用如下格式指定 sudo docker run -ti --name web -p 80:80/udp net:v1.0 bash容器互联可以不用端口映射就可以让容器之间进行交互。容器互联会在源容器和接收容器之间创建一条安全隧道,接收容器可以看到源容器的信息。比如两个容器,一个容器时db,一个容器时app首先,创建一个源容器:sudo docker run -ti –name db net:v1.0 bash 然后运行另一个容器,使用–link 参数连接第一个容器:sudo docker run -ti –name app –link db:data net:v1.0 bash 这里的 –link db:data 的意思是把名字为 db 的容器链接到别名 data,然后你就可以在第二个容器里以 sender 这个名字和第一个容器通信,比如 ping data: ping data实际上,系统把这个别名加入到了 容器的/etc/hosts 里面: 暂时用不到 pass感谢各位的阅读,以上就是“如何使用docker网络”的内容了,经过本文的学习后,相信大家对如何使用docker网络这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: SpringBoot中的重定向是什么意思

本篇内容介绍了“SpringBoot中的重定向是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先得搭建一个web应用才有可能继续后续的测试,借助Spr…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/11 17:27
下一篇 08/11 17:27

相关推荐