Docker每次启动容器,IP及hosts指定
思韵闪耀
2020-10-20
0

前言

    每次在使用Docker启动Hadoop集群的时候,都需要重新绑定下网卡,固定IP,同时修改/etc/hosts文件,非常麻烦,于是想探寻下原因及优化。

一、原因

/etc/hosts, /etc/resolv.conf和/etc/hostname,容器中的这三个文件不存在于镜像,在启动容器的时候,通过mount的形式将这些文件挂载到容器内部。因此,如果在容器中修改这些文件的话,修改部分不会存在于容器的top layer,而是直接写入这三个物理文件中。

为什么重启后修改内容不存在了?原因是:每次Docker在启动容器的时候,通过重新构建新的/etc/hosts文件,这又是为什么呢?原因是:容器重启,IP地址为改变,hosts文件中原来的IP地址无效,因此理应修改hosts文件,否则会产生脏数据。
二、解决办法

在每次启动容器的时候指定IP、hostname、往/etc/hosts里添加hosts,命令如下:


docker run -itd --name hadoop0 --hostname hadoop0 --net network_my --ip 192.168.10.30 --add-host hadoop1:192.168.10.31 --add-host hadoop2:192.168.10.32  -d -P -p 50070:50070 -p 8088:8088 hadoop:master

 

Docker系列-Docker 网络模式及配置

--hostname :指定hostname;
--net : 指定网络模式
--ip:指定IP
--add-host :指定往/etc/hosts添加的host

以上命令需要docker1.9以上版本才行;

启动完容器后,进入容器查看 /etc/hosts

[root@centos-linux-7 /]# docker exec -it hadoop0 bash

[root@hadoop0 /]# cat /etc/hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.10.31   hadoop1
192.168.10.32   hadoop2
192.168.10.30   hadoop0


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

Linux系统挂载未分配硬...
先查看未挂载之前的磁盘使用情况发现磁盘使用率已经达到了96%,迫切...
2025-02-22
Linux lsblk 命...
简介Linux 中的 lsblk 命令,全称叫做:list blo...
2025-02-22
linux内核5和6区别
Linux内核5.x和6.x版本之间有显著的区别,这些区别主要体现...
2024-04-29
docker-compos...
1.Compose介绍 DockerCompose是一个用来定义和...
2024-04-26
centos stream...
1、更新系统软件包确保系统已经更新到最新版本,打开终端,执行以下命...
2024-03-30
Linux中的防火墙(Ne...
NetfilterNetfilter是Linux 2.4内核引入的...
2024-03-15

热门资讯

docker的daemon.j... docker的daemon.json文件以及key,json文件的作用 1.静态的镜像文件转为动态容...
使用docker部署社区版on... 操作系统: centos7 3.10.0-514.26.2.el7.x86_64 docker版本:...
修改Docker config... 修改Docker config文件的坑 有一个容器之前只开了一个端口,现在要多开一个端口。 首先关闭...
Windows Server ... 一、 打开windows PowerShell,输入以下命令进行安装Docker 1)安装onege...
windows10 彻底卸载 ... 删除docker程序 记事本新建脚本文件 a.ps1,内容如下: $ErrorActionPrefe...
使用Docker部署ONLYO... 推荐服务器配置 RAM : 4 GB+ CPU : 双核 2 GHz + Swap : 至少2 GB...
Winserver 2019 ... 引言 :对于 在winserver 2019上安装docker ,官方有说明,网上也有教程,但是大部...
如何查看一个docker镜像有... 如何查看一个docker镜像有哪些版本 如何查看一个docker镜像有哪些版本 要想查看镜像的版本和...
查看已下载的Docker镜像l... 命令格式:docker image inspect (docker image名称):latest|...
seafile6.1.1部署o... seafile6.1.1部署onlyoffice后中文乱码解决办法 首先感谢cool_ccr,按这个...