1、环境

Windows 11

Docker 20.0.2

2、拉取镜像

我选择 ubuntu20.04:

docker pull ubuntu:20.04



然后我们用命令看一下本地镜像:

docker images

3、启动容器

docker run -it IMAGE_ID bash

4、预备操作

4.1安装vim

4.1.1 更新软件包信息

apt-get update

4.1.2 安装vim

apt-get install vim

4.2 换源

4.2.1 备份镜像源设置文件

cp /etc/apt/sources.list /etc/apt/sources.list.bak

4.2.2 编辑镜像源设置文件

vim /etc/apt/sources.list

如果不出意外大家原来文件都应该如下图一样:

我们键入 ggdG 删除其中全部内容,复制下面的所有内容粘贴上去 (一次只可以选一个镜像源,根据你的情况选)

#  阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
 # 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
#  中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

我这里选用阿里源,按 esc 键再 :wq 保存退出

4.2.3 重新更新一下软件包信息

apt-get update

4.3 同步上海时间

输入下面命令可以看到时间和咱们时间不一样,需要同步一下不然以后可能会遇到一些问题

date

4.3.1 安装 tzdata

apt-get install tzdata

然后按照提示选择 Asia 对应的序号,选完后会显示一堆新的提示—输入城市名,如 Shanghai,按照提示进行选择时区,就可以看到时间修改成功了:

然后使用下面命令:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

将时区文件链接到本地时间文件上,以便系统能够正确地显示当前时间,防止系统重启后时区改变。

4.4 安装 ssh 配置免密登陆

4.4.1 安装 ssh

先用下面命令安装 ssh 服务

apt-get install openssh-server

4.4.2 设置允许 root 远程访问

打开配置文件

vim /etc/ssh/sshd_config

在#PermitRootLogin prohibit-password下添加如下内容

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes



重启ssh服务

service ssh restart
# 容器中不能调用 systmctl命令,故命令只在宿主机配置ssh时使用,容器中使用service

配置容器内的 root 用户密码,该密码可用于远程登录

passwd root

设置 ssh 开机自启,找到并打开文件/root/.bashrc

vim /root/.bashrc

在 .bashrc 末尾添加如下代码

service ssh start

退出使用如下命令让环境变量生效:

source /root/.bashrc

最后配置一下 ssh 免密登陆

ssh-keygen -t rsa #一直按回车键即可
cd ~/.ssh
cat id_rsa.pub >> authorized_keys

到这里咱们前期准备工作差不多完成了,exit 退出当前容器,然后我们可以保存镜像,以备以后的使用

docker commit CONTAINER_ID ssh_installed

5、配置远程连接

使用下面命令查看系统内有哪些镜像:

docker images



选择上一步保存的镜像并生成容器,在这过程还要做端口映射,例如:

docker run -it -d --name [container-name] -p 8088:80 [image-name]

我这里用的是下面命令,把这个容器命名为 hadoop,将容器内的 22 端口映射到宿主机的 50001 端口:

docker run -it -d --name hadoop -p 50001:22 ssh_installed

我们可以看到,我们需要的容器正在运行中了:



现在就可以设置远程连接了,在这里我选择 xshell 作为远程连接工具,填入如下信息:





这里的 root 密码是咱们在步骤 4.4.2 中设置的 root 的密码,设置完成之后,点击连接,可以看到顺利连接上了:



后续操作和虚拟机配置 hadoop 基本一致,题主有空完善(先埋下坑以后再填),或者客官可以移步题主另一篇博客参考一下:Ubuntu下搭建伪分布式从0开始安装Hive详细教程

Windows 环境下Docker 安装伪分布式 Hadoop的更多相关文章

  1. Windows环境下docker的安装与配置

    Docker是一种容器技术,可以在操作系统中隔离出若干个独立的程序运行环境,这些环境既可以共享宿主机的资源,另一方面他们之间相互独立,互不影响,也不会对宿主机的环境产生影响.与虚拟化技术不同的是,Do ...

  2. 4.windows环境下如何安装memcached教程(转载+自己整理)

     Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached.百度经验:jingyan. ...

  3. windows环境下如何安装memcached教程

    Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached. 工具/原料   memcach ...

  4. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  5. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  6. docker在Windows环境下的安装

    Windows环境下安装 docker有两种安装包 一.Docker for Windows(目前只能在 64 位的 Windows10 专业版.企业版.教育版下才能安装) 二.Docker Tool ...

  7. Windows 环境下 Docker 使用及配置

    原文引用: https://www.cnblogs.com/moashen/p/8067612.html 我们可以使用以下两种方式在Windows环境下使用docker: 1. 直接安装: Docke ...

  8. [原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 问题:windows下安装MySQLdb的方法 解析:python没有php那种集成环境,比如wamp那种集成软件直接把所有需要的东西全部一次性搭 ...

  9. ubuntu环境下docker安装步骤

    本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubun ...

  10. Windows环境下的安装gcc

    Windows具有良好的界面和丰富的工具,所以目前linux开发的流程是,windows下完成编码工作,linux上实现编译工作. 为了提高工作效率,有必要在windows环境下搭建一套gcc,gdb ...

随机推荐

  1. 简单的cs修改器

    目录 各个函数解析 main() GetPid() 无限子弹 无限血 无限金币 Patch() 无僵直 稳定射击 Depatch1 手枪连发 Depatch 源代码部分 各个函数解析 这是我根据b站上 ...

  2. group_concat_max_len设置过小致group_concat()排列不全

    问题描述:group_concat_max_len默认值1024导致group_concat函数排列显示不足 group_concat_max_len长度显示跟group_concat排列长度息息相关 ...

  3. mysql迁移:ibd表空间迁移库表

    问题描述:将一个库中的表迁移到另一个数据库或实例下,利用ibd文件物理迁移,可适用情况为数据库起不来,强制迁移数据文件恢复 将数据库中的zabbix数据迁移到另一个库中 frm:存储表的列信息 ibd ...

  4. Docker介绍下载安装、制作镜像及容器、做目录映射、做端口映射

    在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 ...

  5. Laravel 代码开发最佳实践(持续更新)

    我们这里要讨论的并不是 Laravel 版的 SOLID 原则(想要了解更多 SOLID 原则细节查看这篇文章)亦或是设计模式,而是 Laravel 实际开发中容易被忽略的最佳实践. 内容概览 单一职 ...

  6. Cesium之Web Workers

    1. 引言 多线程是编程中常用的方法,例如,在桌面程序中,主线程一般是UI线程,负责UI绘制与用户交互,而运算处理往往是交给背后的工作线程,这样可以有效避免交互时的卡顿感 浏览器是多进程的,每打开一个 ...

  7. [ZJOI2020] 序列 线性规划做法/贪心做法

    线性规划做法 同时也作为线性规划对偶的一个小小的学习笔记. 以下 \(\cdot\) 表示点积,\(b,c,x,y\) 是行向量. \(A\) 是矩阵,对于向量 \(u,v\) 若 \(\forall ...

  8. 高精度地形DEM数据下载(NASA数据 12.5米分辨率)

    本文介绍从NASA阿拉斯加卫星设备处网站下载高精度DEM数据,下载的数据精度是12.5米分辨率. 目前国内大部分可以下载的dem数据都是30米或90米分辨率的,对于更高精度的数据要不就是需要付费下载, ...

  9. shell和查找文件的一些操作

    shell的操作 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) Ctrl + b :按字符后移(左向) Alt + f :按单词 ...

  10. 2022-05-08:给你一个下标从 0 开始的字符串数组 words 。每个字符串都只包含 小写英文字母 。words 中任意一个子串中,每个字母都至多只出现一次。 如果通过以下操作之一,我们可以

    2022-05-08:给你一个下标从 0 开始的字符串数组 words .每个字符串都只包含 小写英文字母 .words 中任意一个子串中,每个字母都至多只出现一次. 如果通过以下操作之一,我们可以从 ...