Docker基本管理--Dockerfile镜像制作(Docker技术集群与应用)

容器端口映射;

容器间通信;

容器数据卷;

DockerFile;

容器端口映射:

实验环境:紧接着之前的快照,将该文件夹拉取进去;

然后执行导入的脚本,会将该目录下所有打包好的镜像文件导入进入。

然后进行查看;

这样简单的一个实验环境就搭建好了;

然后创建容器;

登录到容器中;

获取容器的IP;

然后退出容器尝试访问Apache服务;

发现可以访问;

但是创建该容器的时候没有为该容器映射外部的访问端口,所以外部的客户端无法访问到该容器;

大概解释为:

外部客户端:

windos宿主机做客户端;

内部客户端:

docker主机上做客户端;

再以该镜像为支持,创建一个容器,但是创建的时候加上-P的选项;

看下会发生什么样的事情;

-P:是port的意思,即端口;

加上-P的选项,自动帮助我们完成端口映射的策略;

0.0.0.0:为docker主机的IP;

32768:映射到该容器的80端口;

尝试访问:

IP要访问docker主机的IP,但是端口要访问容器分配的端口;

然后再以外部客户端的身份尝试访问;

但是注意:

端口号是随机分配的,例如DHCP中的地址池一样;

创建的时候手动指定要映射的端口即可;

-P:自动分配映射端口;

-p:手动指定映射端口;

8080为docker主机提供的端口,后面还是容器的端口;

这样就可以固定端口去访问了,而不是让docker主机自动为容器分配一个随机的端口;

如何自己指定网页文件,那么就需要登录到容器中了;

但是这种方式麻烦且不具备永久性,这些文件会随着容器的删除也消失的;

所以不建议把数据放到容器里面存放;

容器间通信:

先创建一个容器:并指定容器的名称;

然后创建第二个容器,且在创建的时候指定链接;--link;

冒号前是:把web02链接到web01;web01作为web02的源容器,web02作为web01的接收容器;

冒号后是:在web02要登录进去的话,为web01起的一个别名。

进入到web02中进行验证;

会在其hosts文件中,记录源容器的IP和名称;

还可以ping其容器的IP;

还可以登录到web01中尝试访问web02;

可以发现hosts文件中并没有保存web02相关的信息;

不过可以用IP的方式进行访问;

另外一种容器间通信的方式:

以逻辑子网的方式实现容器间通信。

为docker环境创建不同的逻辑子网;

然后在创建容器的时候直接让容器加入到指定的网络中;

然后登录到任意一个新创建的容器中,查看该容器的IP;

每一个创建出来的子网都不同;

这样不用做任何设置就可以用容器的名字进行访问了;

这样就实现了,也限制容器与容器之间通信控制了;

容器数据卷:

为保证数据的持久化存储,而不能因为误删除了容器,数据也随之消失;

DocketFile:自定义镜像的技术

自己做一个nginx的镜像

nginx的源码包

nginx的配置文件

基础镜像:centos

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值