导航:首页 > IDC知识 > docker宿主机

docker宿主机

发布时间:2020-09-06 08:03:07

1、如何解决docker宿主机无法访问容器中的服务

docker跟宿主机交互的是通过原生网络实现的。
当docker进程启动之后,它会配置一个虚拟的网桥叫docker0在宿主机上。这个接口允许docker去分配虚拟的子网给即将启动的容器们。这个网桥在容器内的网络和宿主机网络之间将作为接口的主节点。
docker容器启动后,将创建一个新的虚拟接口并分配一个网桥子网内的ip地址。这个ip地址嵌在容器内网络中,用于提供容器网络到宿主机docker0网桥上的一个通道。docker自动配置iptables规则来放行并配置nat,连通宿主机上的docker0,就可以访问宿主机的mysql数据文件了。

2、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 。

(2)docker宿主机扩展资料

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

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

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

重建能力很重要:

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

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

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

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

3、docker 里怎么获取宿主机ip

容器的ip每次启动都会改变,知道容器ip没什么意义。
文件同步操作的话,为什么不通过-v 挂载到宿主机呢?

docker exec CID ifconfig
如果容器有ifconfig的话

4、如何获得Docker的宿主机的cpu占用率?

这个情况,我也遇到过!首先可以用进程管理看看啥东东占用了CPU,例如你用360安全卫士——功能大全——电脑优化——进程管理。其次可用360急救箱之类的查杀一下顽固病毒,然后再试试,希望对你有帮助。

5、Docker 宿主机的系统是否对容器使用的系统选择有影响

们通过在在宿主机和容器里分别执行date命令来看下实际的情况。
在宿主机执行date命令的结果:

进入到容器里,再执行date命令的结果:
docker exec -it 《containerid》 /bin/sh
date
执行后的结果为:

从截图来看,我们发现相差了8个小时。那么如何解决这个问题呢?目前有两种思路供参考。
创建容器的时候指定启动参数,自动挂载localtime文件到容器内
docker run --name 《name》 -v /etc/localtime:/etc/localtime:ro ...
把时区设置加入到Dockerfile中
# Ubuntu
RUN echo “Asia/shanghai” 》 /etc/timezone;
# CentOS
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
以上就是Docker容器和宿主机时间不同步的解决办法,这个问题主要是由于Docker容器没有设置时间导致的,因此用户只需根据上面的介绍的方法进行设置即可。

6、docker 怎么把宿主机的文件拷贝到运行的容器中

1.用-v挂载主机数据卷到容器内 [plain] view plaincopy docker run -v /path/to/hostdir:/mnt $container 在容器内拷贝 cp /mnt/sourcefile /path/to/destfile 2.直接在主机上拷贝到容器物理存储系统 A. 获取容器名称或者id : [plain] view plai...

7、docker 容器系统必须和宿主机一样吗

完全不需要,docker只要求宿主机操作系统的内核在3.10以上,系统为64位。

8、docker 宿主机 是什么意思,不安装宿主机好像也可以运行容器

Docker 宿主机的系统是否对容器使用的系统选择有影响?
容器

docker

cloverzrg 2016年09月20日提问
关注 3 关注
收藏 0 收藏,876 浏览

问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地
例如,我宿主机使用的系统是ubuntu,那么,我的容器是否也应该使用ubuntu的系统以达到更好的性能和减少宿主机的性能消耗?

已采纳
Docker是基于linux内核制作的,所以选择宿主机时要选择支持Docker的系统,即:
Linux 3.8版本或更高。
Cgroups 和 namespaces 必须可用
而对于发行版来讲,他们只不过是在一个linux内核中装了各式各样的不同的包而已,核心还是linux。
你可以理解为,有一块大空地(系统硬件资源),改造成了地基(Linux内核),宿主机系统用一部分面积盖了些房子(宿主机系统),你又开了一辆房车过来住(Docker)。只要地基允许(Linux内核允许),你根本不用担心旁边的房子是怎么盖的。当然房子要是塌了搞得水电煤都停了(宿主机死机),你的房车就也会受影响。

都可以用啊,没什么区别

与docker宿主机相关的知识