Docker创建镜像,建立网桥,容器制作虚拟机

news2024/10/6 14:28:39

新建基础镜像,希望能够SSH,安装java,用户,声明22端口等等;拷贝基础hadoop安装文件

新建Dockerfile

FROM centos:7.9.2009


RUN rm -f /etc/localtime && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone

RUN export LANG=zh_CN.UTF-8

# 创建用户和用户组,跟yaml编排里的user: 10000:10000
RUN groupadd --system --gid=10000 hadoop && useradd --system --home-dir /home/hadoop --uid=10000 --gid=hadoop hadoop

# 安装sudo
RUN yum -y install sudo ; chmod 640 /etc/sudoers

# 给hadoop添加sudo权限
RUN echo "hadoop ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

#安装 sshd
RUN yum install -y openssh-server openssh-clients vim net-tools lrzsz telnet wget nc
RUN sed -i '/^HostKey/'d /etc/ssh/sshd_config
RUN echo 'HostKey /etc/ssh/ssh_host_rsa_key'>>/etc/ssh/sshd_config



#生成ssh-keye
RUN ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
#更改root用户登录密码为
RUN echo 'root:123805' | chpasswd
#声明22端口
EXPOSE 22
#容器运行时启动sshd
RUN mkdir -p /opt
RUN echo '#!/bin/bash'>> /opt/run.sh
RUN echo '/usr/sbin/sshd -D'>>/opt/run.sh
RUN chmod +x /opt/run.sh
CMD ["/opt/run.sh"]

RUN mkdir /opt/apache/

# 安装 JDK
ADD jdk-8u333-linux-x64.tar.gz /opt/apache/
ENV JAVA_HOME /opt/apache/jdk1.8.0_333
ENV PATH ${JAVA_HOME}/bin:$PATH


# 配置 Hadoop
ENV HADOOP_VERSION 2.7.7
ADD hadoop-${HADOOP_VERSION}.tar.gz /opt/apache/
ENV HADOOP_HOME /opt/apache/hadoop
RUN ln -s /opt/apache/hadoop-${HADOOP_VERSION} $HADOOP_HOME

ENV HADOOP_COMMON_HOME=${HADOOP_HOME} \
    HADOOP_HDFS_HOME=${HADOOP_HOME} \
    HADOOP_MAPRED_HOME=${HADOOP_HOME} \
    HADOOP_YARN_HOME=${HADOOP_HOME} \
    HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop \
    PATH=${PATH}:${HADOOP_HOME}/bin

# 创建namenode、datanode存储目录
RUN mkdir /opt/apache/hadoop/tmp
RUN mkdir /opt/apache/hadoop/dfs
RUN mkdir /opt/apache/hadoop/dfs/name
RUN mkdir /opt/apache/hadoop/dfs/node
RUN mkdir /opt/apache/hadoop/dfs/data


COPY config/hadoop-config/* ${HADOOP_HOME}/etc/hadoop/

RUN chown -R hadoop:hadoop /opt/apache

ENV ll "ls -l"

WORKDIR /opt/apache
容器停止
docker stop XXX
容器移除
docker rm XXX
查看镜像
docker images
删除镜像
docker rmi hadoop-base:v1

构建镜像
docker build -t hadoop-base:v1 ./
根据镜像,构建容器
docker run -itd --name test -p 222:22 hadoop-base:v1
查看容器
docker ps -a
进入docekr容器内部
docker exec -it 6304e8f62f08 bash
docker exec -it 6304e8f62f08 /bin/bash

输入ip addr 查看网络

Docker 提供三种 user-defined 网络驱动:bridgeoverlay 和 macvlan
overlay 和 macvlan 用于创建跨主机的网络

输入创建桥接命令

docker network create -d macvlan --subnet=192.168.0.254/24 --gateway=192.168.0.1 -o parent=enp0s31f6 bridge-host

命令解释:

192.168.0.254/24 (网段,/24是掩码,等于255.255.255.0)

192.168.0.1 (网关IP,一般是路由器的LAN口IP)

enp0s31f6 (网卡名称)

bridge-host (接口名称,可自定义)

 

配置
docker run -itd --network=bridge-host --ip=192.168.0.216 --dns=114.114.114.114 --name hadoop216 -h hadoop216 --restart=always hadoop-base:v1
docker run -itd --network=bridge-host --ip=192.168.0.217 --dns=114.114.114.114 --name hadoop217 -h hadoop217 --restart=always hadoop-base:v1
docker run -itd --network=bridge-host --ip=192.168.0.218 --dns=114.114.114.114 --name hadoop218 -h hadoop218 --restart=always hadoop-base:v1
docker run -itd --network=bridge-host --ip=192.168.0.217 --dns=114.114.114.114 --name hadoop217 -h hadoop217 --restart=always hadoop-base:v1

docker run -itd \ #创建容器 参数为itd (含义请百度Docker run 命令)

--name hadoop216 \ #容器名称,可以自定义

--network=bridge-host \ #接口名称,上面创建桥接时写的什么这里就改成什么

--ip=192.168.0.216 \ #容器的IP地址,建议在路由器的DHCP地址池范围外,避免造成冲突

--dns=114.114.114.114 \ #DNS服务器地址,可自己更换其他的

--restart=always \ #自动重新启动=开启

hadoop-base:v1 镜像名称

测试访问正常

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/451890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)

Windows使用C Visual Studio链接云数据库PostgreSQL 一、前置条件二、安装PostgreSQL工具三、编译libpqxx库四、Visual Studio配置测试**如果对您有帮助,关注收藏!** 关注 “测试开发自动化” 公众号,获取更多学习内容 一、前置条件 下载lib…

MQTT 开放基准测试规范:全面评估你的 MQTT Broker 性能

引言 我们很高兴地宣布:由 EMQ 提供的 MQTT 开放基准测试规范现已正式发布! 该测试规范包含了实用的典型使用场景、一套衡量 Broker 性能的主要指标,以及一个模拟负载和收集测试结果的工具,可以帮助开发者评估 MQTT Broker 的可…

让同为2.4G的ZigBee与Wi-Fi相容的解决方案解析

2.4G (WIFI,BT,ZIGBEE,普通2.4G 无线) 4种2.4G 无线通信协议。 普通2.4G 无线 最便宜。 众所周知,小米的智能套装包含的4件套,人体传感器、门窗传感器、无线开关与多功能网关采用的是基于NXP的一颗工业级ZigBee射频芯片–JN5168进行组网通讯。而多功能网…

office实操技能01:修改微软Office页面的(非背景的)浅绿底色、设置默认字体和主题颜色、取消页眉横线、PPT默认的等线字体

目录 1 处理word中默认中文字体是等线的问题 2 处理word中没有设置背景色,但页面底色是浅绿色的问题 3 修改office的主题颜色 4 删除页眉横线 5 处理PPT中的等线字体 这篇博文主要介绍两个使用技能: 技能1:修改word的默认等线字体技能2&…

( “树” 之 BST) 653. 两数之和 IV - 输入二叉搜索树 ——【Leetcode每日一题】

二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点。 二叉查找树中序遍历有序。 653. 两数之和 IV - 输入二叉搜索树 难度:简单 给定一个二叉搜索树 root 和一个目标结果 k,如果二叉…

关于Java注解的一些理解 小结

目录 1. 常用注解和理解 2. 自定义注解 2.1 案例背景 2.2 设计思路 3 总结 1. 常用注解和理解 注解在我的理解下,就是代码中的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相对应的处理。 可能有些抽象,简单…

Web3中文|好莱坞新星如何成就电影业?

Web3 技术已经被用于电影行业,以建立社区并将利基内容代币化。NFT 将是好莱坞的下一个新星。 【利基(niche)是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务。产品推进这个市场&#xff0c…

DATAFAKER 使用方法记录

DATAFAKER 使用方法记录 win10 64位 Python 3.10.11 参考网址 datafaker的使用–详细教程 https://blog.csdn.net/A15517340610/article/details/105623103 https://github.com/gangly/datafaker python 版本 It is compatible with python2.7 and python3.4 也就是说 他…

开箱即用的ChatGPT替代模型,还可训练自己数据

一、普遍关注是什么? OpenAI 是第一个在该领域取得重大进展的公司,并且使围绕其服务构建抽象变得更加容易。然而,便利性带来了集中化、通过中介的成本、数据隐私和版权问题。 而数据主权和治理是这些新的LLM服务提供商如何处理商业秘密或敏…

Vue(数据绑定、el和data多种写法、理解MVVM、数据代理)

一、数据绑定 1. vue中有两种数据绑定(通过开发者工具进行查看) 1. 单项绑定(v-bind)数据只能从data流向页面 在输入框中中输入vue实例中的数据没有变化 2. 双向绑定(v-model)数据能从data流向页面&#x…

【Java 数据结构】二叉树的遍历 (递归和非递归实现)

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

大数据分析查询_Impala介绍_对HDFS_Hbase直接查询_速度快_组成架构_执行原理---大数据之Impala工作笔记0001

官网的地址:Impala (apache.org)https://impala.apache.org/ https://impala.apache.org/ 官网的地址: 首先我们看一下什么是impala,可以看到Impala是cloudera公司,也就是做Hadoop付费版的公司, 提供的,基于Hive的,因为他跟hive共用元数据,meta,他可以提供对HDFS,Hbase的SQL…

好家伙,阿里新产Java性能优化(终极版),涵盖性能优化所有操作

上月公司来了一位大佬,入职不到一周就把公司现有项目的性能优化了一遍,直接给公司节省了一半的成本。 一问情况,才知道这位仁兄也是一路被虐过来的。去年年底被裁,本以为自己技术还行,看了一段时间面经,复…

dB 、dBSPL、dBFS、dBTP

本文整理自:https://corychu.medium.com/%E9%8C%84%E9%9F%B3%E7%AD%86%E8%A8%98-%E6%95%B8%E4%BD%8D%E9%9F%B3%E9%87%8F%E6%A8%99%E6%BA%96-dbfs-dbtp-lufs-c47ca4646b7f 概述:dBFS(相对于满刻度的分贝)是数字系统中振幅水平的测…

8. 优先队列

8. 优先队列 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在某些情况下,我们可能需要找出队列中的最大值或者最小值,例如使用一个队列保存计算机的任务,一般情况下计算机的任务都是有优先级…

element select改成成tree树状下拉

<template><el-select class"jhx-formData-inputRow" ref"configSelect" v-model"orgName" filterable placeholder"请选择":filter-method"filterMethod" clear><el-option :label"orgValue.label&quo…

Redis7中的持久化技术RDB和AOF的详细解释说明

文章目录 前置知识持久化原理RDB持久化RDB优化配置项RDB文件格式RDB持久化过程RDB总结 AOF持久化AOF的工作流程AOF中的rewirte机制rewrite AOF文件格式查看AOF文件 AOF优化配置项 AOFRDB混用纯缓存模式对比和技术选型建议 前置知识 官网关于持久化的说明 Redis 是一个内存数据…

频域抽取FFT(DIF-FFT)的C语言实现

原理 此处以基2频域抽取FFT为例&#xff0c;讲述频域抽取FFT的原理。假设FFT的长度为 N 2 m N2^m N2m&#xff0c;我们将序列 x x x的FFT变换分为以下两个部分&#xff1a; X ( k ) ∑ n 0 N / 2 − 1 x ( n ) W N n k ∑ n N / 2 N − 1 x ( n ) W N n k X(k)\sum_{n0}…

SQL Server存储过程(数据库引擎)使用详解

存储过程&#xff08;数据库引擎&#xff09; 一、背景知识1.1、使用存储过程的好处1.2、存储过程的类型 二、创建存储过程三、修改存储过程四、删除存储过程五、执行存储过程5.1、建议5.2、使用 Transact-SQL执行存储过程 六、授予对存储过程的权限6.1、授予对存储过程的权限6…

院士联合指导+超强专家阵容+丰厚奖金机会,第十二届“麒麟杯”大赛报名正式开启!

当前&#xff0c;开放、协作、共享的开源模式已成为全球软件技术和产业创新的主导&#xff0c;也为信息技术国产自主化提供了强大助力。高校师生作为国产开源建设的主要技术群体之一&#xff0c;是国产开源未来发展的中坚力量。 2023年第十二届“麒麟杯”全国开源应用软件开发…