推广 热搜: 可以  搜索引擎  企业  page  个数  百度  使用  音视频  选择  父亲 

Docker入门到实践(下)

   日期:2024-12-31     移动:http://ww.kub2b.com/mobile/quote/11154.html

dockerfile 是用来构建docker镜像文件
docker build 构建一个镜像
docker pull 拉取一个镜像
docker push 发布镜像(DockerHub,阿里云镜像仓库

DockerFile构建过程

DockerFile 指令

 
 

构建自己的centos

默认的centos 是没有vim 等命令的,我们构建一个拥有vim的centos

vi dockerFile_centos

 
 

启动构建容器,并查看vim是否成功

 

查看镜像历史记录

 

CMD 和ENTRYPOINT 的区别

 

Docker 镜像发布到阿里云容器

 
 

小结

理解Docker0

测试:启动一个tomcat 网络信息会发生一个什么变化

 

总结

1.我们每启动一个docker容器 ,docker就会给docker容器分配一个ip,我们只要安装了docker,就会有一个网卡docker0桥接模式,使用的技术是veth-pair技术

 

结论容器与容器之间是相互可以ping通的

容器之间网络通讯流程

小结

–link

容器之间互联怎么在不直接使用ip呢

 

–link 可以直接使用容器名称 ping

原理如下

 

本质还是访问的ip
这样带来一个很大的问题 容器之间是相互隔离的,这默认的情况下容器之间可以互联的,没有隔离,这个安全性不好。而且 –link 是 修改 /etc/hosts 文件来完成的,只要是使用了 –link 就会修改文件,来达到互通的效果。
现在是非常不建议使用了

其次,修改 /etc/hosts 文件有很多弊病。比如,高频繁的容器启停环境时,容易产生竞争冒险,导致 /etc/hosts 文件损坏,出现访问故障;或者有些应用发现是来自于 /etc/hosts 文件后,就假定其为静态文件,而缓存结果不再查询,从而导致容器启停 IP 变更后,使用旧的条目而无法连接到正确的容器等等。

docker0问题:它不支持容器名称连接访问

应该是有 docker network建立网络。

自定义网络

 

网络模式分为

  • bridge :桥接网络 (默认,自定义也是有桥接
  • host:主机网络 和宿主机共享
  • none:不配置网络
  • container:容器网络联通(很少使用,局限偶然很大

在默认创建容器的时候默认使用 bridge网络模式

 
 

下面,我们创建两个容器 使用我们自定义网络。这不使用–link后也是可以ping通的。

 

我们自定义网络docker都以及帮我们维护好了对应的关系,推荐我们平时这样使用网络

网络连通

创建两个tomcat。一个使用默认的桥接(docker0,另一个使用自定义桥接网络。

 

我们发现他们两个容器 ip地址都在一个网段中肯定ping不同那么怎么让这两个容器网络互连呢

解决方案如下

 

我们发现 已经将tomcat01 连通到 mynet 自定义网络中。同时tomcat-mynet-02 容器也在这个网络下,这个时候两个容器可以ping通了

 

最后测试ping两个容器

 

小结

假设需要跨网络操作别人,就需要使用docker network connect 连通!。。

实战:部署redis集群

安装启动配置redis 3主 3从集群

 
 
 
 
  1. 打包
  1. 编写Dockerfile
 
 

4.上传到服务器进行打包并运行

本文地址:http://ww.kub2b.com/quote/11154.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号