资讯专栏INFORMATION COLUMN

Docker-Shiny使用笔记1

darkerXi / 753人阅读

摘要:之前只是听说是一个容器技术,微型虚拟机,然后在这之前并没有接触过,所以不得不硬着头皮看英文的帮助文档,借助的这个好用来做笔记,充当专栏文章。英文好的同学可以按照这个教程来下载问题我默认看这篇文章的都是党。。

写在前面的话

在HarryZhu写的系列的docker文章后,我也开始心动了,准备尝试一下。周末在家下了半天,终于下载成功了,然后也跑起来。Docker之前只是听说是一个容器技术,微型虚拟机,然后在这之前并没有接触过,所以不得不硬着头皮看英文的帮助文档,借助SF的这个好用markdown来做笔记,充当专栏文章。

安装问题

谢谢 @HarryZhu 的指导,可以采用Daocloud镜像加速服务,免得要下一下午。。

本人在安装的时候主要碰到的问题就是下载不下来。不过还是有一些小技巧的。下面来简单说一下,防止后来人入坑。PS:英文好的同学可以按照这个教程来:https://docs.docker.com/windows/step_one/

Docker toolbox下载问题

我默认看这篇文章的都是Windows党。。

既然是Windows党,那就要折腾一下了。首先是需要下一个toolbox。因为是放在amazonAWS云服务器上的,所以会间歇性下载失败,我建议去github的release页面找到相应的版本,右键复制链接,然后用迅雷下载,速度可能会出乎你的想象。:-)

Docker-shiny下载问题

这是一个头痛的问题。目前有两个较火的image,一个是rocker开发的,另外一个是quantumobject开发的,网址分别是 https://hub.docker.com/r/rocker/shiny/ 和 https://hub.docker.com/r/quantumobject/d... 。我去了对应的github看了一下,发现quantumobject最近才更新的,所以决定用最新的。来到对应的Docker Hub地址,按照步骤输入代码,剩下的就是拼人品和网速的时候了。
代码还是要贴一贴的:

$ docker run -d -p 3838:3838 quantumobject/docker-shiny

更多有用的命令请对应参考 rocker/Rstudio-server/wiki

初步操作

恭喜你进入到这一步,相信也是跟我一样等了不知道多久才下好了。这个docker image一共是346M,所以要做好心理准备。

开始

你需要知道的两个开始有用的命令:

$ docker-machine ip default
$ docker ps
$ dokcer images

第一条命令是显示shiny-server的端口在哪里,我的是 192.168.99.100,意味着我需要在这里http://192.168.99.100:3838/查看shiny的效果。打开主页,你发现一个欢迎页面。这个其实是开发这个docker image的作者写的一个index.html,我后面会讲到如何发现的。
第二条命令是查看机器的ID CONTAINER ID 用于进入root进行下一步操作。
第三条命令是查看目前docker里面的打包好的image。

进阶

知道了ID后就可以进行相应的操作了。小赵我的container ID非常奇怪,是4b13fe05ac8e.但是没有关系,输入下面命令就可以了

$ docker-machine ls
$ docker-machine ssh default
$ docker exec -it 4b13fe05ac8e bash
root@4b13fe05ac8e:/# cd srv/shiny-server
root@4b13fe05ac8e:/srv/shiny-server# ls

examples  index.html  sample-apps

可以看到在shiny-server的文件夹下有index.html,另外还有两个文件夹,大家可以去对应的端口看看:http://192.168.99.100:3838/examples/,会发现有十几个shiny的例子,对着例子研究一遍,相信就能做初步做一个shinyapp了。

进入到了容器内部后,接下来就是Linux的操作命令了,小赵来记录几条有用的命令,大家可以试一试,玩一玩

#查看当前文件夹
ls -F 
#切换到上一级文件夹
cd .. 
#查看文件
cat <文件名>
head <文件名>
#关机
shutdown -h now 
#还可以定时关机
shutdown -h hours:minutes
容器镜像启动/停止/保存
$ docker ps -a
# 注意names
$ docker stop backstabbing_goodall
# 停止镜像
$ docker start backstabbing_goodall
# 启动镜像
#`-i` 表示需要交互支持。这里没有,故不需要加上。
Ctrl + D #退出虚拟机
共享文件夹

在virtualBox里面设置共享位置和名称,不要自动挂载

进入虚拟机中 docker-machine ssh default

创建一个文件夹 mkdir /home/share/

输入命令,建立主机与虚拟机的共享 sudo mount -t vboxsf share /home/share .这里的share是在虚拟机设置的时候取的名字,一般默认是share。

在主机中丢入文件,去虚拟机中及时查看。cd /home/share 然后 ls就能看到共享的文件。

虚拟机与容器之间建立文件共享,输入 docker run -d -p 3838:3838 -v /home/share:/root/share quantumobject/docker-shiny .

进入容器内的查看共享的文件 docker exec -it bash. 或者 docker exec -it backstabbing_goodall PS:通过docker ps来查看容器的ID和name。

验证:cd /srv/share 然后输入 ls,如果出现共享的文件就说明成功了 :)

若是Ubuntu的容器运行: docker run -it -v /home/share:/usr/share ubuntu:14.04 /bin/bash .

参考资料:http://docs.daocloud.io/faq/docker101

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26549.html

相关文章

  • [原]打造数据产品的快速原型:Shiny的Docker之旅

    摘要:使得非传统程序员的使用者不必依赖于前端后端工程师就可以自己依照业务完成一些简单的数据可视化工作,快速验证想法的可靠性。本文以上的的新主机为例。 概述 本文将介绍如何通过Docker+Shiny-Server技术极速打造Web开发,并通过实战案例进行演示。 为什么使用Shiny Shiny是R中的一种Web开发框架,使得R的使用者不必太了解css、js只需要了解一些html的知识就可以快...

    seal_de 评论0 收藏0
  • 程序员的一些常用技能点

    摘要:其他笔记还有一些其他的主流云笔记软件,像印象笔记,为知笔记,等,由于没有多做尝试,就不加以评价年最好用的云笔记软件推荐介绍是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 目录: [TOC] Git Git介绍: Git是目前世界上最先进的分布式版本控制系统(没有之一),简单来说,Git 是一个管理你的「代码的历史记录」的工具。 Gi...

    baishancloud 评论0 收藏0
  • ApacheCN 人工智能知识树 v1.0

    摘要:贡献者飞龙版本最近总是有人问我,把这些资料看完一遍要用多长时间,如果你一本书一本书看的话,的确要用很长时间。为了方便大家,我就把每本书的章节拆开,再按照知识点合并,手动整理了这个知识树。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 贡献者:飞龙版...

    刘厚水 评论0 收藏0
  • 靡不有初,鲜克有终——写在VNote半周岁

    摘要:舒适的编辑体验通过语法高亮,最大地消除与生俱来的编辑和阅读的割裂感。所以,是不是又少了一个回到阅读模式的借口代码块语法高亮通过插件可以支持代码块里面的代码语法高亮,其他的编辑器好像没有支持。 首发于简书. showImg(https://segmentfault.com/img/remote/1460000009164987); 从去年的十一开始到今天,VNote已经半周岁了,也迭代到...

    roland_reed 评论0 收藏0
  • 面向对象接口多态

    摘要:多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。具体格式如下父类引用指向子类对象就是多态的定义格式。多态的转型分为向上转型与向下转型两种向上转型当有子类对象赋值给一个父类引用时,便是向上转型,多态本身就是向上转型的过程。 第3天 面向对象 今日内容介绍 接口 多态 笔记本案例今日学习目标 写出定义接口的格式 写出实现接口的格式...

    wangdai 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<