参考https://blog.csdn.net/clypm/article/details/79351060
首先
docker pull daocloud.io/centos:6
yum -y install wget
docker run -ti centos
docker rename awesome_archimedes hadoop
yum -y install wget
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
tar -xzf jdk-8u141-linux-x64.tar.gz
问题来了, 下载之后,怎么解压都不成功,报错如下
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
搜了很多之后发现,原来是直接wget的并没有点击“agree”那里,所以无法解压。于是在本机上下载了jdk,移到容器中
如何把mac上的文件移到docker容器中呢
首先查看docker ps -a (最好最大化终端,不然不在一行不好看)
有了NAME和CONTAINER ID 就好办了
docker inspect -f '{{.ID}}' hadoop 获取他的ID
紧接着
docker cp Downloads/jdk-8u221-linux-x64.tar.gz 5ef098f286d93cb7d530785fb0e2a082e709298625f93a6151991fe305fa3b33:jdk-8u221-linux-x64.tar.gz
“Downloads/jdk-8u221-linux-x64.tar.gz”是我下载的jdk在mac上面的路径,
“5ef098f286d93cb7d530785fb0e2a082e709298625f93a6151991fe305fa3b33”这是获取的容器ID
“:jdk-8u221-linux-x64.tar.gz ”这个是指把文件移入容器后放在哪里,怎么命名。我就直接放在了根目录里面(怕自己笨的找不见)
现在再解压,就解压成功了。
对了 同时为了以后可以找的见,将所在的容器构建成为一个新的副本
docker commit -m "java install" 5ef098f286d9 centos:java
“5ef098f286d9”是我的容器ID,在root@后面的哪些字符就是。
http://mirrors.sonic.net/apache/hadoop/common/
选择要用的版本,我选的是2.7.7
wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
下一个文章里面换了别的方式安 很快很快!!!!