docker 创建容器时指定容器ip的实现示例
Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定。
在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的。
我们可以创建自己的bridge网络 : mynet,创建容器的时候指定网络为mynet并指定ip即可。
查看网络模式
docker network ls
创建一个新的bridge网络
docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet
查看网络信息
docker network inspect mynet
创建容器并指定容器ip
docker run -e TZ="Asia/Shanghai" --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init
运行容器
docker exec -it hadoop01 /bin/bash
centos最小化安装没有ifconfig命令,可通过yum进行安装
yum install -y net-tools
安装ssh服务
yum install -y openssh-server yum install -y openssh-clients systemctl start sshd.service
新增非root用户
useradd brock passwd brock
通过本地客户端访问(通过创建容器时指定端口或配置独立ip)
docker run -e TZ="Asia/Shanghai" -p 6001:22 --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init
或
route -p add 172.18.12.0 MASK 255.255.255.0 10.0.75.2
相关推荐
-
Docker每次启动容器,IP及hosts指定的操作
前言 每次在使用Docker启动Hadoop集群的时候,都需要重新绑定下网卡,固定IP,同时修改/etc/hosts文件,非常麻烦,于是想探寻下原因及优化. 一.原因 /etc/hosts, /etc/resolv.conf和/etc/hostname,容器中的这三个文件不存在于镜像,在启动容器的时候,通过mount的形式将这些文件挂载到容器内部.因此,如果在容器中修改这些文件的话,修改部分不会存在于容器的top layer,而是直接写入这三个物理文件中. 为什么重启后修改内容不存在了?原因是:
-
Docker为网络bridge模式指定容器ip的方法
前言 众所周知bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace.设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上.下面来看看Docker为网络bridge模式指定容器ip的方法. 实现方法 如果只是简单创建一个bridge模式的网络是无法给容器指定ip的 [root@vultrvpn conf.d]# docker network create --driver bridge wordpress_net ad1ff3d972
-
Docker 容器指定自定义网段的固定IP/静态IP地址
Docker容器指定自定义网段的固定IP/静态IP地址 第一步:创建自定义网络 备注:这里选取了172.172.0.0网段,也可以指定其他任意空闲的网段 docker network create --subnet=172.172.0.0/16 docker-ice 注:docker-ice为自定义网桥的名字,可自己任意取名. 第二步:在你自定义的网段选取任意IP地址作为你要启动的container的静态IP地址 备注:这里在第二步中创建的网段中选取了172.172.0.10作为静态IP地址.这
-
docker 创建容器时指定容器ip的实现示例
Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定. 在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的. 我们可以创建自己的bridge网络 : mynet,创建容器的时候指定网络为mynet并指定ip即可. 查看网络模式 docker network ls 创建一个新的bridge网络 docker network create --driver bridge --subnet=172.18.12.0/16 --gatewa
-
Java在创建文件时指定编码的实现方法
目录 一.问题分析 二.字符编码 三 .问题解决 前言:最近,学习了Java IO流的相关的知识,想通过读写文件的方式练习和巩固所学知识.在使用File类创建文件时,突然想到,我该如何指定文件使用的编码呢? 进而想到,应该如何查看一个文件的编码呢? 一.问题分析 先去互联网上查找答案,结果如下: FileInputStream fis=new FileInputStream("xxxx.txt"): OutputStreamWriter osw=new OutputStreamWrit
-
通过Docker创建CentOS容器的实现步骤
目录 前言 创建桥接网络,方便容器间通信 通过CentOS 7镜像创建容器 连接容器 容器间互相访问 参考链接 前言 先安装Docker,使用文内的脚本可以快速创建CentOS 7.8虚拟系统集群,并通过SSH(Secure Shell)远程工具连接. 创建桥接网络,方便容器间通信 指令格式为docker network create <网络名称 >. docker network create test-network 列出Docker下所有网络可以看到test-network. docke
-
详解Docker创建Mysql容器并通过命令行连接到容器
拉取网易蜂巢的mysql-server:5.6 docker pull hub.c.163.com/nce2/mysql:5.6 创建mysql5.6容器 1master+3个slave docker run --name mysql-master -d -P hub.c.163.com/nce2/mysql:5.6 docker run --name mysql-slave1 -d -P hub.c.163.com/nce2/mysql:5.6 docker run --name mysql-
-
Docker如何安全地进入到容器内部
目录 前言 1. 容器运行 自动重启的容器 自定义名称的容器 开启端口的容器 与宿主机共享目录的容器 2. 进入容器 2.1 容器的三种状态 2.2 docker attach与docker exec 前言 镜像是构建容器的蓝图,Docker 以镜像为模板,构建出容器. 容器在镜像的基础上被构建,也在镜像的基础上运行,容器依赖于镜像. 本文将对 容器的运行 及相关内容进行详细讲解. 1. 容器运行 在 Docker 官方网站可以查询与 Docker 相关的资料以及帮助手册,但是内容都是英文的,可
-
如何通过DOCKER OVERLAY2目录名查找容器名和容器ID
目录 通过DOCKER OVERLAY2目录名查找容器名和容器ID DOCKER入门 Docker基础 docker简介 基本概念 利用DockerFile定制镜像 Dockerfile指令详解 保存镜像 总结 通过DOCKER OVERLAY2目录名查找容器名和容器ID 有时候经常会有个别容器占用磁盘空间特别大,这个时候就需要通过docker overlay2 目录名查找对应容器名: 1.首先进入到 /var/lib/docker/overlay2 目录下,查看谁占用的较多 du -s ./*
-
mysql如何创建数据库并指定字符集
目录 mysql创建数据库并指定字符集 mysql创建数据库时指定编码字符集utf8mb4 方法一:MySQL 命令 方法二:修改/etc/my.cnf 文件 总结 mysql创建数据库并指定字符集 mysql创建数据库并指定字符集,创建数据库 并指定字符集. 命令: CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建用户 CREATE USER 'username'@
-
docker如何在外部指定参数变量
这篇文章主要介绍了docker如何在外部指定参数变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Dockerfile: FROM frolvlad/alpine-oraclejre8:slim VOLUME /tmp ADD app.jar /app.jar #COPY agent/ /usr/local/skyagent/ WORKDIR /opt COPY docker-entrypoint.sh . ENV AP_ENV=$AP_EN
-
Docker创建容器时目录权限踩坑
昨天写项目时需要用到Mysql的衍生版本percona, 就想用Doker来安装.结果踩了一晚上坑, 今早终于解决. 现记录在此. 这个坑原因是我对linux的目录权限问题不敏感导致的. 我的系统是ubuntu16.04, 运行 docker pull percona 拉取镜像时一切正常. 拉取完后,输入 docker images查看所有镜像, 显示正常: 然后我创建容器,命令为(执行时不要有换行): docker create --name percona -v /data/mysql-da
随机推荐
- 详解Angularjs filter过滤器
- Java爬虫Jsoup+httpclient获取动态生成的数据
- 基于ajax实现无刷新分页的方法
- 基于zepto的移动端轻量级日期插件--date_picker
- 放弃 Python 转向 Go语言有人给出了 9 大理由
- iOS 图片裁剪 + 旋转
- PHP最常用的2种设计模式工厂模式和单例模式介绍
- JS比较2个日期间隔的示例代码
- js获取页面引用的css样式表中的属性值方法(推荐)
- VBS中转换二进制数据为字符串常用办法
- Java常用命令汇总
- mysql自动化安装脚本(ubuntu and centos64)
- Android中比较常见的Java super关键字
- PHP类(Class)入门教程第1/2页
- VLAN 之间的访问控制
- 详谈DOM简介及节点、属性、查找节点的方法
- 专属于程序员的浪漫-Java输出动态闪图iloveyou
- 编写多线程Python服务器 最适合基础
- Python增强赋值和共享引用注意事项小结
- js实现随机div颜色位置 类似满天星效果