docker ps [OPTIONS]
-a :显示所有的容器,包括未运行的
docker ps -a

docker images

关闭容器:docker stop 容器ID或容器名
docker system prune是用来删除不再使用的 docker 对象
docker system prune #用来删除不再使用的 docker 对象

docker ps -a

docker run hello-world

docker run -it -v F:\VirtualMachine\build:/root/build --name ubuntu ubuntu
docker run 表示运行一个镜像。
-i 表示开启交互式;-t 表示分配一个tty(可以理解为一个控制台);因此,-it可以理解为在当前终端上与Docker内部的Ubuntu系统进行交互。
-v 表示Docker内部的Ubuntu系统中的/root/build目录与本地的F:\VirtualMachine\build目录共享,这样就可以很方便地将文件上传到Docker内部的Ubuntu系统中。
-name 表示ubuntu表示Ubuntu镜像启动名称,如果没有指定,那么Docker将会随机分配一个名字。
-ubuntu 命令中的最后一个ubuntu,表示docker run启动的镜像文件。


Ubuntu系统初始化
1)更新系统软件源
apt-get update
2)安装vim编辑器
apt-get install vim
3)安装和配置sshd
apt-get install ssh
开启sshd服务器
/etc/init.d/ssh start
把启动命令写进/.bashrc文件,每次登录Ubuntu系统时,都能自动启动sshd服务,用vim编辑器打开/.bashrc文件,在该文件最后一行添加如下内容:
/etc/init.d/ssh start
安装sshd之后,需要配置SSH无密码连接本地sshd服务,在Docker上的Ubuntu系统中执行如下命令:
ssh-keygen -t rsa #一直按Enter键即可
cd ~/.ssh
cat id_dsa.pub >> authorized_keys
安装java
在Docker上的Ubuntu系统中可以输入下面命令来安装jdk
apt-get install defaultjdk
配置java环境变量,打开~/.bashrc文件,在最开始位置增加如下内容:
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export PATH=$PATH:$JAVA_HOME/bin
执行下面命令使~/.bashrc配置文件生效。
source ~/.bashrc
保存镜像
在Docker内部对容器做的修改,是不会自动保存到镜像中的,就是说,上面对容器进行了大量配置,一旦把容器关闭,然后重新开启容器,之前的设置会全部消失。首先到Docker官网注册账号,然后再本地系统(不是Docker中的系统)Linux系统通过下面命令登录,windows通过Docker Desktop登录
docker login #登录·
登录后,再cmd输入下面命令查看当前运行的容器的信息:
docker ps

从上面信息可以看出,当前运行的Ubuntu镜像的ID是9b66321b893b。输入下面命令将修改后的容器保存为一个新的镜像,新镜像名称为ubuntu/jdkinstalled。
docker commit 9b66321b893b ubuntu/jdkinstalled
安装hadoop
将hadoop-2.7.1.tar.gz放到F:\VirtualMachine\build。然后在Docker内部系统的/root/build目录下解压:
tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local
这里已经配置好hadoop单机模式了。运行下面命令测试是否安装正确。
cd /usr/local
mv ./hadoop-2.7.1 ./hadoop
cd hadoop
./bin/hadoop version
配置hadoop集群## 标题
配置hadoop集群,需要修改/usr/local/hadoop/etc/hadoop目录下的配置文件hadoop_env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。
首先使用vim编辑器打开hadoop_env.sh文件
cd /usr/local/hadoop
vim etc/hadoop/hadoop_env.sh
打开后,在文件前添加下面内容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
然后用vim编辑器修改core-site.xml文件
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
然后用vim编辑器修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/namenode_dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/datanode_dir</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
然后用vim编辑器修改mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
最后用vim编辑器修改yarn-site.xml文件
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>NodeManager apreduce_shuffle<description>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
<description>resourcemanager</description>
</property>
</configuration>
最后保存这个镜像
C:\Users\xixi>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a9d331672b4 ubuntu/jdkinstalled "/bin/bash" 36 seconds ago Up 33 seconds ubuntu-jdkinstalled
9b66321b893b ubuntu "/bin/bash" 2 hours ago Up 2 hours ubuntu
C:\Users\xixi>docker commit 5a9d331672b4 ubuntu/hadoopinstalled
sha256:3a9eab1bb8df5573195d48e6a4d080d64e6498a051fe51e906b6e9f1f691e19a
C:\Users\xixi>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu/hadoopinstalled latest 3a9eab1bb8df 9 seconds ago 1.08GB
ubuntu/jdkinstalled latest 80e7c7e5d482 3 hours ago 750MB
ubuntu latest 549b9b86cb8d 2 days ago 64.2MB
hello-world latest fce289e99eb9 11 months ago 1.84kB
来源:CSDN
作者:十八口丁
链接:https://blog.csdn.net/qq_37797234/article/details/103635315