docker中安装hadoop过程及错误解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker中安装hadoop过程及错误解决相关的知识,希望对你有一定的参考价值。

参考技术A 本文主要记录build 支持hdfs的docker过程中遇到的问题,以及解决方法。
自己写的Dockerfile文件,可以参考学习下:

执行docker build -t docker-hadoop:2.7.0 . 后,查看images:

ok, 大功搞成。

遇到的问题解决记录:

然后在运行时指定即可:
docker run -it XXX /etc/bootstrap.sh -bash

Docker中安装Nginx部署网页服务-过程

基础命令

拉取nginx镜像

docker pull nginx

当然,我们这里可以先执行语句docker search nginx查询一下nginx镜像版本,然后指定版本,上面是直接默认最新

启动nginx镜像

docker run --name nginx-test -p 81:80 -d nginx

下面是对上面的一些解释
--name nginx-test:容器名称
-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
这样子就可以直接访问http://Docker宿主机ip:81即可
当然,宿主机端口可以指定为80

常用命令

docker search  name 查询镜像
docker pull name 安装name镜像
docker images  查看已经拉取的镜像
docker ps  查看正在运行中的容器 
docker ps -a 查看正在运行中的容器,包括未运行的
docker rm 容器ID 删除某一容器 //停止容器--》删除容器--》删除镜像
docker rmi 镜像ID  删除某一个镜像
systemctl start docker 启动docker
systemctl stop docker 停止docker
systemctl restart docker 重启docker

删除容器

以nginx为例,若是我们已经启动nginx

停止正在运行的容器

docker ps #找到正在运行的容器,当然也可以直接docker ps|grep nginx找到最精确的
docker stop name #根据容器名称停止(当然也可以是id)

删除所有nginx的容器,运行的和未运行的

docker ps -a #查出所有运行的和未运行的容器
docker rm 容器id

若是没有先停止会报如下错误

Error response from daemon: You cannot remove a running container 420d9c5a934853c264d8bc52f8cb3bd27379d269898182aa13d2c366409d7037. Stop the container before attempting removal or force remove

删除nginx镜像

docker images #先查询出容器
docker rmi 镜像id #注意相比容器多了一个i

到此,就删除nginx镜像成功啦,当然也可以只删除容器,不删除镜像

容器停止,启动,重启

命令作用
docker stop 容器名称/容器ID通过docker ps 查看正在运行的容器,可以通过该命令直接停止该容器
docker start 容器名称/容器ID通过docker ps -a 命令查看所有容器,可以通过该命令启动该容器:如果用run的话会新建一个新的容器
docker restart 容器名称/容器ID通过docker ps -a 命令查看所有容器,可以通过该命令重启容器

其实,以nginx为例,流程是这样子的:拉取镜像后,用run启动容器,此时会新建一个容器,后面就不需要再新建了,直接用stop/start停止启动容器即可


查看运行后nginx的id

docker ps

进入镜像 

docker exec -it fd204bcb5cd0 bash

查找nginx的默认配置文件 

cd etc/nginx/conf.d/
ls

nginx的默认配置文件:default.conf

查看配置文件,确认nginx的root目录 

从图片可以看到root目录:/usr/share/nginx/html
这个目录则是容器的目标目录,接下来需要将待部署的资源通过docker命令拷贝到该文件目录下。

cat default.conf

 退出容器

exit

拷贝文件

拷贝待部署的文件到nginx容器的root目录下

docker cp 源文件/目录 容器ID:容器目的地址
----------------------------------------------------
docker cp css fd204bcb5cd0:/usr/share/nginx/html/
docker cp js fd204bcb5cd0:/usr/share/nginx/html/
docker cp index.html fd204bcb5cd0:/usr/share/nginx/html/

docker cp命令类似于UNIX中的cp -a命令,递归复制目录下的所有子目录和文件 

注:也可以通过映射的方式将docker中的nginx目录映射到资源服务器上

 完成后直接访问

http://ip:port/index.html

以上是关于docker中安装hadoop过程及错误解决的主要内容,如果未能解决你的问题,请参考以下文章

在 Docker 的 CentOS7 镜像 中安装 mysql

在Ubuntu18.04的Docker中安装Oracle镜像及简单使用

如何解决windows10系统中安装vs2013报错问题

如何在docker中安装redis

Docker容器中安装vim命令

No matching distribution found for panda(cmd中安装panda时报错)