当前位置:首页 » 文件传输 » docker中系统相互访问
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

docker中系统相互访问

发布时间: 2022-08-10 12:05:07

❶ docker相当于一个Linux上虚拟机吗可以在docker上放置网站,提供外部访问

当前,Docker内部使用的是Linux容器技术(LXC),这是运行在与它的宿主机器同样的操作系统上。这准许它可以和宿主机器共享许多系统资源。它也会使用AuFS作为文件系统,也为你管理网络。
AuFS是一个层状的文件系统,因此你可以有一个只读部分和一个只写部分,然后将二者组合起来。你可以使系统的共同的部分用作只读,那块是被所有容器共享,并且给每个容器自己的可写区域

Mitisky
翻译于 3年前
3人顶

顶 翻译得不错哦!
好吧,让我们假设你有一个容器镜像(image)容量是1GB,如果你想用一个完整的虚拟机来装载,你得需要容量的大小是1GB乘上你需要虚拟机的数量。但使用Linux容器虚拟化技术(LXC)和AuFS,你可以共享1GB容量,如果你需要1000个容器,假设他们都运行在同样的系统影像上,你仍然可以用稍微比1GB多一点的空间来给容器系统,
一个完整的虚拟化系统得到了分给它的自有全部资源,只有最小的共享。你获得了更多的隔离,但是这是很庞大的(需要更多的资源)
使用Linux容器虚拟化技术(LXC),隔离性方面有所缺失,但是他们更加轻量,而且需要更少资源。所以你可以轻松运行1000个容器在一个宿主机器上,甚至眼都不眨。试着用Xen来实现那个,我想除非你有一个超级强大的主机,不然我看是不可能的了

Mitisky
翻译于 3年前
2人顶

顶 翻译得不错哦!
一个完整的虚拟系统通常得用几分钟去启动,linux容器虚拟技术(LXC)只要数秒,甚至有时时间更短。
对于每种虚拟系统都有反对者和支持者。如果你希望一个完全隔离的和资源有保障的环境,那么完全的虚拟机是你的选择。如果你只希望进程之间相互隔离,并且希望大量运行他们在一个合理大小的宿主机器上。那么linux容器虚拟技术(LXC)是你的选择。

❷ 有哪些问题使用docker解决不掉

1 系统方面
docker可以运行各版本的linux,但唯独windows系统无法直接运行
2进程方面
docker运行进程1的初始化服务需要特权模式,所有root是共享进程的,无法单独root用户运行
3 资源方面
无法直接独占硬件资源,且对单容器网络流量和速度控制目前没有很好的支撑方案
4 安全方面
docker并不是虚拟机,目前仍然有漏洞可以通过操作docker所在宿主机
5 监控方面
无法监控docker所在硬盘分区,往往对其监控是基于宿主机的硬盘监控。cpu和内存的资源因为是共享指定,不通过压力测试无法直接监控所使用的cpu和内存资
6 网络访问
docker无法直接通过内部ip互相访问,跨宿主机容器访问需要借助第三方工具如weave等解决方案
7 host文件
docker容器内的host文件修改后,重启会消失,因为启动容器时候host是重新从宿主机加载的。如果要重启不变,需要在启动容器时命令指定
8 固定ip
docker默认情况内部ip地址会发生变化,固定ip需要单独命令指定
9 端口
除非host模式,否则默认docker容器内部的所有端口外部无法直接访问,需要启动容器时命令里指定端口映射
另外,启动容器后再新增端口映射是不允许的,如需要增加可通过iptables的nat间接实现

暂时想到这么多,希望可以帮到你

❸ docker从容器中怎么访问宿主机

例如你的docker环境的虚拟IP是192.168.99.100,那么宿主机同样会托管一个和192.168.99.100同网段的虚拟IP,并且会是主IP:192.168.99.1,那么就简单了,在容器中访问192.168.99.1这个地址就等于访问宿主机。

注意,通过192.168.99.1访问宿主机,等于换了一个ip,如果数据库或中间件限制了本机访问或者做了ip段限制,要记得添加192.168.99.1到白名单。

Docker容器运行的时候有 host 、 bridge 、 none 三种网络可供配置。默认是 bridge ,即桥接网络,以桥接模式连接到宿主机; host 是宿主网络,即与宿主机共用网络; none 则表示无网络,容器将无法联网。

当容器使用 host 网络时,容器与宿主共用网络,这样就能在容器中访问宿主机网络,那么容器的 localhost 就是宿主机的 localhost 。

(3)docker中系统相互访问扩展阅读

宿主机和容器通信原理的问题:

考虑重启速度:在实际的运维过程中,部分场景下,会出现主机卡死,或者docker进程卡死, 这时,最快恢复业务的方法是重启主机。

容器在主机重启后,可以自动恢复,因此可以做到在1到2分钟内快速恢复业务。这一点太重要了,物理机重启由于需要做各种硬件检测,重启时间一般在5到10分钟, 虚拟机重启一般在1分钟以内 , 物理机显然无法满足需求。

重建能力很重要:

容器平台经常需要更新操作系统,或者根据需要调整主机规格。

运行一段时间后,发现内存配置偏少了, 需要添加内存。这时候申请一台新的机器加入到集群中,将旧机器下线即可。

运行多年的 ubuntu 12.04 官方已经不再维护, 需要全量替换,工作量相当大。好的方法就是使用全新的服务器替换旧服务器。

当发生故障,主机无法恢复时, 直接申请新服务器加入集群即可。

❹ docker容器连接后可以互相访问里面的文件吗

可以的。容器里面的文件只能查看。如果想修改,还得通过-volume.

如果相互拷贝,就用 docker cp