在使用docker搭建hadoop分布式集群的时候,需要各容器之间相互免密登录,传统的方式我想或许会很麻烦,特别是当容器达到几百上千台的时候,这时就需要有一种方式来更简单实现免密登录了. 环境介绍: 宿主机:centos 7 docker 版本:18.09.0 镜像版本:ubuntu:14.04(官方镜像,无ssh,需要自行安装) 方法一: 怎么说呢,第一种方法不是不可以,但很麻烦.这里只是说一下方法: 当容器创建完成以后,拷贝容器里面的主机名和ip映射关系到本地host.file文件,通过这个…
部署了两个独立的容器: Container #1 - Web ClientContainer #2 - SQL Server 不同容器间如何互访? 无法从 Container #1 访问到 Container #2,ping 不通. 检查网络状态 安装 Docker 时,会自动创建 3 个网络. docker network ls 命令可以列出这些网络. bridge 网络:表示所有 Docker 安装中都存在的 docker0 网络.除非使用 docker run --net=<NETWORK…
在公司产品中,管理平台和下面的主机很多时候都要求免密,免密的逻辑到底是怎么样的呢?今天就简单看看! 首先创建两台虚机,正常情况下ssh登陆对方是需要密码的 先通过ssh-keygen生成一对秘钥 [root@test-20 ~]# ssh-keygen Generating public/private rsa key pair. #通过RSA加密算法生成公钥/私钥密钥对 Enter file in which to save the key (/root/.ssh/id_rsa): #保存目录…
八月迷情,这个月会对大数据进行一个快速的了解学习. 一.所需工具简介 首先我是在大数据实验一体机上进行集群管理学习,管理五台实验机,分别为master,slave1,slave2,slave3,client. 此外,学习还涉及到以下工具的使用: 先来介绍下每个工具的作用之处: 1‘ google浏览器,JDK,eclipse,IDEA就不说明了(你们懂得): 2’ OPENVPN用来从操作的本机连接到服务器(下载注意操作系统的匹配),安装完成后,将下载的客户端配置压缩包解压,将其中的client…
前言 在搭建hadoop集群时,需要主机和副机之间实现SSH免密登录 一.环境准备 1.ubuntu两台 二.安装SSH 1.首先检测一下本机有没有安装SSH服务,如果没有任何打印说明未安装 sudo ps -e |grep ssh 2.使用如下命令安装SSH服务 sudo apt-get install openssh-server 三.配置SSH 1.建议先删除一下ssh的目录,重新配置 rm -r  ~/.ssh 2.使用如下命令来生存公钥和私钥,参数说明:-t为选择加密算法,-P为设置密…
1:第一步给每一台电脑生成公私钥 使用   在 root 目录下面 使用  ssh-keygen -t rsa ,然后不停敲回车.就可以生成公私钥.默认放在  .ssh 目录下面. 2:进入.ssh ,  使用  吧公钥 复制到 /root/.ssh/authorized_keys 文件里面 cd /root/.ssh cp id_rsa.pub authorized_keys 3: 把每一台电脑的 授权文件都 复制到 其中一台(centos1)的 authorized_keys 文件里面 ss…
实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并执行SSH免密登陆脚本,使得每台机器之间都能免密登陆. 实验环境: 宿主机系统   :Fedora 28 WorkStation 虚拟机管理器 :Virt-Manager 1.5.1 虚拟机配置   :ha1  CentOS 7.2 1511 (minimal)   virbr0: 192.168.…
一.检查系统内核 二.安装docker 1.yum install docker  -y 2.docker version                    #查看docker版本 3.systemctl restart docker     #启动docker服务 4.groupadd docker & useradd -g docker docker 三.安装镜像 docker pull [选项] :标签 docker pull centos:7 docker images       …
学习目标: 容器之间可以相互连接访问:: --link redis:redisAlias 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN apt-get update RUN apt-get install -y nginx RUN pat-get install -y curl EXPOSE 80 CMD /bin/bash #构建测试镜像 docker build -t lexiaofei/cct . 1.允许所有容器互联 --i…
一.概述 有一台跳板机,已经实现了免密登录后端服务器.但是我写了一个django项目,它是运行在容器中的,也需要免密登录后端服务器. 虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置都消失了. 是否可以在生成新的django镜像时,也能免密登录后端服务器呢?答案是可以的! 二.实现过程 环境说明 跳板机 操作系统:centos 7.6 ip地址:192.168.28.229 后端主机 操作系统:centos 7.6 ip地址:192.168.28.218 制作docker镜像…
通过前面小节的实践,当前 docker host 的网络拓扑结构如下图所示,今天我们将讨论这几个容器之间的连通性. 两个 busybox 容器都挂在 my_net2 上,应该能够互通,我们验证一下: 可见同一网络中的容器.网关之间都是可以通信的. my_net2 与默认 bridge 网络能通信吗? 从拓扑图可知,两个网络属于不同的网桥,应该不能通信,我们通过实验验证一下,让 busybox 容器 ping httpd 容器: 确实 ping 不通,符合预期. “等等!不同的网络如果加上路由应该…
多台linux主机之间设置免密通信 例:A 向 B设置免密通信 第一步 A生成密钥对 ssh-keygen -t rsa -t 指定秘钥的类型 rsa 秘钥类型 密钥目录:/root/.ssh/(如果是root账户,注意:不同用户之间不共享密钥对) 私钥 id_rsa 钥匙 公钥 id_rsa.pub 锁 第二步 编辑B主机root账户下(其他账户同理)认证文件 vi /root/.ssh/authorized_keys 将之前A主机生成的公钥id_rsa.pub内容复制到B主机的authori…
目的: 同台机器之间实现普通用户之间的免密登陆: NN01 的user1 免密登陆 user2 不同机器之间实现普通用户之间的免密登陆 :NN01 的user1 免密登陆 NN01 的user1 一.同台机器之间实现普通用户之间的免密登陆 普通用户之间的免密登陆和 使用root 进行免密登陆,基本设置都是一样的,只不过普通用户之间需要修改 .ssh 和 authorized_keys 的权限免密才能生效. 登陆 user1 的前提下, ssh-keygen #使用 ssh-keygen 命令,一…
由于公司的生产环境有很多台Linux的CentOS服务器, 为了方便机子(假设两台机子A,B)互相之间免密ssh, scp命令操作,配置如下 1. 在A.B上分别创建本机的公钥和私钥,输入命令后连续三次回车 ssh-keygen -t rsa 2. 查看公私钥的文件生成情况 cd ~/.ssh/ ls 看到列表有2个文件: 文件说明: id_rsa : 生成的私钥文件 id_rsa.pub : 生成的公钥文件 3. 把A机子的公钥文件id_rsa.pub(拷贝需要重命名,否则把B的给替换了, 命…
一,使用 --link容器互联 docker 默认使允许container 互通的(通过-icc=false 关闭互通)同一个宿主机上的多个docker容器之间如果想进行通信,可以通过使用容器的ip地址来通信,也可以通过宿主机的ip加上容器暴露出的端口号来通信,前者会导致ip地址的硬编码,不方便迁移,并且容器重启后ip地址会改变,除非使用固定的ip,后者的通信方式比较单一,只能依靠监听在暴露出的端口的进程来进行有限的通信.通过docker的link机制可以通过一个name来和另一个容器通信,li…
我们接着盗图,如下: 在这张图上,可以看到,如果两个容器使用同一个bridge,那么两个容器之间是互相能通的 可以看到两个容器在同一个bridge下是可以互相ping通的 当两个容器在不同的bridge的时候,容器之间是不能ping通的,(但是不同bridge的容器为什么能ping通不同bridge的网关呢?)和拓扑图是一样的 如何让两个不同的网段之间能够ping通呢? 1.增加路由 如果host上对每个网络都有一个路由,同时操作系统上打开了ip forwarding,host就成了一个路由,挂…
预览目录 volume 方式 相关用例 使用方式 使用 volume driver bind mount 方式 相关用例 使用方式 配置selinux标签 配置macOS的安装一致性 tmpfs 方式 相关用例 使用方式 0x00 概述 接触 docker 的朋友都知道,docker 镜像是以 layer 概念存在的,一层一层的叠加,最终成为我们需要的镜像.但该镜像的每一层都是 ReadOnly 只读的.只有在我们运行容器的时候才会创建读写层.文件系统的隔离使得: 容器不再运行时,数据将不会持续…
官方最佳实践文档 https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#from Docker实战(三十)Dockerfile最佳实践总结 Docker实战(二十七)Docker容器之间的通信 容器之间通信 自定义模式 : 使用自定义网络,可以使用docker network create创建,并且默认支持多种网络驱动,用户可以自由创建桥接网络或者overlay网络. 可以 参考  https://ww…
机器:ML-01/ML-02/ML-03 需求: 1.在ML-01上自动将文件同步至ML-02/ML-03 2.在ML-01上通过脚本重启ML-02/ML-03上的R服务 说明:以下示例中,ML-02的ip地址以“ml02ip”代替,注意替换 一.配置免密登陆 在ML-01上生成密钥文件: 先用命令 sudo su -  切换至root用户: sudo su - 使用ssh-keygen生成密钥文件和私钥文件: ssh-keygen -t rsa 其中rsa为一种加密方式,另一种为dsa 这时,…
两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按回车)2.到/root/.ssh/目录下,查看是否有id_rsa.pub文件生成3.将A机器生成的id_rsa.pub文件拷贝到B机器的/root/.ssh/下,并将id_rsa.pub改名为authorized_keys(如果B机器已经有了authorized_keys,可以编辑,向下追加ssh-…
在实际运维的过程中,经常需要用到免密登录,下面这个脚本实现服务器之间的免密登录,如下 比如,要实现A服务器与B.C.D服务器的免密登录,只需要将B.C.D服务器的IP地址写在serverlist.txt中,然后在A服务器上执行下面这一段命令即可. #!/bin/bash #免密登录脚本 #作者:海蓝之心赛 #使用说明 #在和本脚本同级目录下,创建一个名为serverlist.txt的文件,将需要做免密登录的服务器ip地址列表写在serverlist.txt中,每个IP地址占用一行. #特殊说明,…
容器之间的互联 一. 实验目的: 1.       熟悉容器之间基本的网络原理: 2.       掌握容器之间互联的方法: 二. 实验环境: Ubuntu16.04+Docker 三. 实验内容: 练习容器之间互联的方法 四. 实验练习: 1.      安装网桥管理工具,并且查看网桥设备 ① 安装网桥管理工具 apt-get install -y bridge-utils 如果找不到,先使用apt-cache search bridge查找   ② 查看网桥设备 sudo brctl sho…
[编者的话]在容器之间拷贝数据是Docker一个重要而且基本的功能.拷贝数据到其他容器是一个经常使用到的场景,如当服务器遇到不可预见的“灾难”(注:断电,宕机)时,起到备份数据的作用.本文作者详细介绍了操作步骤. 如何在Docker容器之间拷贝数据 Docker容器可以类比成一个目录,它可以将一个应用程序运行时所依赖的所有环境(注:此应用依赖的其他的服务或程序等)打包在一起运行:同时可以随意的对它进行“启动”.“停止”.“移动”或者“删除”等操作.Docker容器在Linux的命名空间(Name…
容器之间互通 新建两个容器 docker run -d --name box1 busybox /bin/sh -c "while true;do sleep 3600;done" docker run -d --name box2 busybox /bin/sh -c "while true;do sleep 3600;done" 进入box1 ping box2 docker exec -it ac1aa7242949 /bin/sh ping 172.17.0…
实验环境 CentOS 7.5 容器 容器是镜像的运行实例.不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层:同时,容器中的应用进程处于运行状态. 主机和容器之间复制文件 要想实现在主机和容器之间复制文件,那么docker cp可以实现. [root@kvm ~]# docker cp --help Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CO…
找两台测试机: [root@docker1 centos_zabbix]# docker network ls NETWORK ID NAME DRIVER SCOPE 19ac9a55bedb bridge bridge local 0a3cbfe2473f host host local aab77f02a0b1 none null local [root@docker1 centos_zabbix]# docker network create --driver macvlan --sub…
docker在Mac下使用非常方便,官网提供了desktop版本的可视化软件,甚至还十分贴心地集成好了k8s套件.然而如果想同时部署和使用多个容器,每个容器不使用127.0.0.1地址,而是各自有ip,如使用172.17.0.x网段,则需要解决从宿主机到各个容器的网络通信. 如果是使用其他Linux系统的用户则不用担心这个问题,Linxu系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间).而Mac想要直接访问容器的ip,则需要曲线救国,通过搭建一个vpn服务,然后通过vpn再去和容器的…
//TODO 参考资料: https://developer.aliyun.com/article/55912 https://blog.csdn.net/u011541946/article/details/87897682 https://www.cnblogs.com/whych/p/9595671.html bridge模式是docker默认的,也是开发者最常使用的网络模式.在这种模式下,docker为容器创建独立的网络栈,保证容器内的进程使用独立的网络环境,实现容器之间.容器与宿主机之…
Docker笔记--操作容器命令 创建容器 docker [container] create-- 创建容器,使用docker [container] create命令新建的容器处于停止状态,可以使用docker[container] start命令来启动它. 启动容器 docker [container] start--启动一个已经创建了的容器 -d后台运行 docker ps--查看一个运行中的容器 创建并启动容器 docker [container] run --创建并启动一个容器 -t选…
一.docker的三个重要概念 1.镜像:打包项目带上环境,即镜像 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的配置参数.镜像不包含任何动态数据,其内容在构建之后也不会被改变.镜像可以用来创建Docker容器,用户可以使用设备上已有的镜像来安装多个相同的Docker容器. 2.容器:镜像创建的运行实例,Docker利用容器来运行应用 每个容器都是相互隔离的.保证安全的平台.我们可以把容器看做是一个轻量级的Linux运行环境…