背景:因为trinity死活安装不上,只好求助能否安装docker版本的trinity,于是开始了解,docker是个啥?
什么是docker
docker的官网上的介绍说:Build and Ship any Application Anywhere(Docker Hub is the world's easiest way to create, manage. and deliver your teams' container applications. )
在任何地方构建、并交付应用程序(Docker Hub是世界上最简单的方式,用以创建、管理并交付您团队的容器应用程序。)
其实就是说了docker的核心优势是自给自足,就拿trinity来说,如果是安装上了trinity的docker版本,同一套数据那么在我的电脑上运行和任何人的电脑上运行应该是一样的,不会出现我的电脑运行时缺一些依赖包,或者与某些电脑已有的依赖包冲突这些情况,毕竟软件的各种安装环境(包括各种依赖)是一个难啃的骨头。
定义:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
开源的说明它源代码开源,使用,修改和分发也不受许可证的限制,大家一起来改进它。
自给自足说明软件的那些依赖都一起打包了,有点类似于conda,但conda是一个环境里安装好些个软件,这个docker是一个软件一个“环境”,而且还是轻量级的,这个怎么实现的呢?搞不懂
什么是虚拟机?
通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。我简单理解一下,就是我现在是windows系统电脑,我安装一个虚拟机软件,然后点开软件就进入Linux系统。
在Linux系统下安装好docker,开始操作:
$docker version #如果正确安装上了docker,那么就可以显示出你安装docker的版本号
$docker search 镜像名字 #用这个搜索命令,或从index.docker.io这个官网上搜索有哪些可用的镜像。
$docker pull 镜像名:版本号 #这种一般拉的是顶层仓库的东西,比如docker pull ubuntu:14.04,如果直接写docker pull ubuntu就是默认拉最新镜像
$docker pull 用户名/仓库名:版本号 #这种一般拉的是用户仓库的东西,比如docker pull trinityrnaseq/trinityrnaseq
$docker rmi 镜像名 #删除镜像
$docker images #看看自己已有哪些镜像
镜像并不是一个完整的系统,而是一个裁剪版的系统,只包含了支持系统运行的有限组件。Image ID才是镜像的唯一标识,2个镜像的tag可以相同。
1、镜像下载-----通过下载的镜像创建或启动容器。
2、镜像下载-----基于这些镜像构建自己的镜像。
网友评论