热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

51.定制Docker,在CDSW中

51.1演示环境介绍系统:RedHat7.2CDSW版本1.1.1用sudo权限的ec2-user用户操作51.2操作演示查看CDSW基础镜像登录CDSW平台

51.1 演示环境介绍

系统:RedHat7.2
CDSW版本1.1.1
用sudo权限的ec2-user用户操作

51.2 操作演示

查看CDSW基础镜像

  • 登录CDSW平台查看使用的基础镜像名称
    • 点击“Engines”
    • 命令行查看CDSW基础镜像:

[ec2-user@ip-186-33-33-616 ~]**$** sudo docker images REPOSITORY TAG                 IMAGE ID            CREATED             SIZE docker.repository.cloudera.com/cdsw/engine 2                   b94fc4cc9b8b **2 months ago**        5.83 GB

定制Docker镜像

  • 使用docker命令启动容器

[ec2-user@ip-186-33-33-616 ~]$ sudo docker run -it --network='host' docker.repository.cloudera.com/cdsw/engine:2 /bin/bash
root@ip-186-33-33-616:/home/cdsw#

  • 命令参数说明:docker run [OPTIONS]IMAGE [COMMAND] [ARG…]

-it : 进行交互式操作
--network : 设置docker容器的网络,这里设置network为host的与主机网络一致

  • 修改R的CRAN源指向私有源
    • 在/usr/local/lib/R/etc目录下新增文件Rprofile.site,并添加如下内容

root@ip-186-33-33-616:/home/cdsw# cd /usr/local/lib/R/etc/
root@ip-186-33-33-616:/home/cdsw# vim Rprofile.site
# Site R configuration.
local({r <- getOption("repos")#r["CRAN"] <- "https://cloud.r-project.org/"r["CRAN"] <- "http://ip-172-31-22-86.ap-southeast-1.compute.internal/"options(repos &#61; r)
})

  • 安装R的依赖包
    • 进入R的控制台安装包,我们这里安装了sparklyr和h2o包&#xff0c;为了方便直接使用外网环境安装的包

root&#64;ip-186-33-33-616:/usr/local/lib/R/etc# R
R version 3.3.0 (2016-05-03) -- "Supposedly Educational"

> install.packages("sparklyr")
> install.packages("h2o")

  • 保存Docker镜像
    • 在未退出容器的情况下&#xff0c;在新的命令窗口创建执行如下命令保存一个新的Docker镜像。
    • 首先找到我们登录的容器ID

[ec2-user&#64;ip-186-33-33-616 ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69be88193fa7 docker.repository.cloudera.com/cdsw/engine:2 "/bin/bash" 57 minutes ago Up

  • 获取到容器的ID执行如下命令将该容器保存为新的镜像。

[ec2-user&#64;ip-186-33-33-616 ~]$ sudo docker commit 69be88193fa7 docker.repository.cloudera.com/cdsw/myengine:2.0.0
sha256:727128de8e3df7e4b74395b9b9c8a4f5df6bba8cc7e03baffaf98436c4ff72d5
[ec2-user&#64;ip-186-33-33-616 ~]$

  • 通过命令查看我们定制的Docker镜像

[ec2-user&#64;ip-186-33-33-616 ~]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.repository.cloudera.com/cdsw/myengine 2.0.0 727128de8e3d About a minute ago 6.01 G

总结

  • 首先通过Docker命令启动CDSW的基础镜像&#xff0c;我们会在这个基础镜像中做一些配置修改和R包的预安装&#xff0c;并最终另存为我们所需要的“定制化”Docker。
  • 然后将该Docker另存为我们的定制化Docker镜像&#xff0c;并将该定制化Docker配置到CDSW。
  • 在新建Project的时候就可以选择该定制化Docker&#xff0c;已经预安装好了一些R依赖包&#xff08;sparklyr/h2o&#xff09;&#xff0c;在开发具体的算法工程时&#xff0c;就不用再去连接共有/私有源下载。当然因为配置好了R的私有源&#xff0c;万一有些包没有预安装&#xff0c;也可以临时安装。

大数据视频推荐&#xff1a;
CSDN
大数据语音推荐&#xff1a;
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能&#xff1a;深度学习入门到精通


推荐阅读
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
author-avatar
你好2502898737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有