环境:
Centos 7.2
Hue
因管理需求,内部服务器不能上外网,离线安装Hue又是很苦逼的活,于是考虑在外网环境安装docker 版的hue,然后导出镜像,再导入到内部服务器。
前提准备
安装docker
外部服务器和内部服务器都需要安装docker,内部服务器需要离线安装docker,安装步骤参考:
https://blog.csdn.net/qq_39160721/article/details/80269209
外部服务器安装Docker hue
一、 从Docker Hub获取镜像
sudo docker pull gethue/hue:latest
注:出现docker pull Client.Timeout exceeded while awaitin的错误,多半是与docker hub的网络有问题。
可以使用ustc的加速,配置方法:
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
二、 编译镜像(可选步骤,可以直接使用pull镜像,该步骤是自己build镜像)
进入到pull的镜像所在目录,进行编译,pull镜像一般在/var/lib/docker/的目录下或者查询find / -name hue-base所在目录sudo docker build --rm -t gethue/hue:latest .
注意: latest 后面是空格加"."
三、 运行镜像
docker run -it -p8888:8888 gethue/hue:latest bash
四、 在容器内启动HUE
./build/env/bin/huerunserver_plus 0.0.0.0:8888
五、 其余主机访问
1. 执行命令sudo docker ps
,查看所有运行的容器,获取hue容器的id
2. 根据id,执行sudo docker exec -it e1ce891e10c3/sbin/ifconfig eth0
获取ip
3. 浏览器输入http://172.17.0.3:8888
进行访问
六、 导出镜像
1. 查看镜像
sudo docker ps -a
2. 导出
sudo docker export dd72efc1b709 >hue.tar
七、 导入镜像
1. 导入远程
sudo docker importhttp://example.com/exampleimage.tgz
2. 导入本地
cat ubuntu.tar | sudo docker import -test/ubuntu:v1.0
$ sudo docker images
注意:运行导入的镜像的时候必须带command,否则启动报如下错误
docker: Error response from daemon: No commandspecified.
具体的command需要在导出容器的时候通过docker ps查看到
另外一种镜像的迁移,可以通过save 和load的方式进行:
Save:
dockersave IMAGE(镜像)
docker save 9610cfc68e8d > helloworld.tar
load:
dockerload IMAGE(镜像)
docker load < /home/helloworld.tar
注意导入后可能没有tag信息
docker tag 9610cfc68e8d docker.io/hello-word:latest
删除
先删除容器
Docker rm name
后删除镜像
Docker rmi name