目录
1. 常用命令
2. 常用 命令示例
3. Docker简介
1. 常用命令
# 1. 常用命令
$ docker version # 查看安装是否成功,是否可以正常使用
$ docker image ls # 查看本地镜像列表
$ docker container ls # 查看运行的容器
$ docker pull ubuntu:latest # 将镜像ubuntu:latest拉取到本地
$ docker container run -it ubuntu:latest # 从镜像启动容器ubuntu:latest
$ docker container exec -it ubuntu:latest # 连接到刚刚退出的仍然运行的容器ubuntu:latest
$ ctrl + QP # 组合键,用于退出容器但同时保持容器运行
$ docker container stop ubuntu:latest # 停止运行容器ubuntu:latest
$ docker container rm ubuntu:latest # 停止并杀死容器ubuntu:latest
2.常用 命令示例
$ docker version
Client: Docker Engine - Community
Version: 18.09.2
API version: 1.39
Go version: go1.10.8
Git commit: 6247962
Built: Sun Feb 10 04:12:39 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:06 2019
OS/Arch: linux/amd64
Experimental: false
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 7698f282e524 3 weeks ago 69.9MB
golang 1.11-alpine 419986b2b50a 4 weeks ago 311MB
hello-world latest fce289e99eb9 5 months ago 1.84kB
marghoob/rnacocktail latest a848eb367be6 15 months ago 3.33GB
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e095874120ae marghoob/rnacocktail "/bin/bash" 17 minutes ago Up 16 minutes musing_poincare
3. Docker简介(书中第一,二章内容)
为什么会诞生Docker呢?因为,在过去,每当业务部门新增应用时,都需要购买新服务器,那个时候一个服务器上只能跑一个应用,购买时候总是买远高于需求的服务器,这是一种资源浪费啊。于是乎,诞生了虚拟机(VM),但是呢虚拟机有很多缺点,比如启动慢、难移植以及对操作系统有高依赖性等缺点。为了解决虚拟机的这些问题,容器(Container)技术就诞生啦。大规模Web服务的玩家一般都有这个需求,谷歌的容器开源项目是Kubernetes,目前已经采用Docker作为其默认容器运行时(Container runtime)。
Docker这个名字取自 Dock worker(码头工人,从船上装卸货物的人),是个混成词,就像biomarker是biological marker的混成词一样,感觉以后可以尝试这样给自己开发的算法等取个简洁好念又有意义的英文名字。
在《Docker Deep Dive》中,作者说当有人提到Docker时,有三种概念:1.Docker公司;2.Docker的容器运行时的编排引擎;3.Docker开源项目(Moby)。一般来讲,Docker是一种运行于Linux和Windows上的软件(Mac上运行的是Linux容器),可以用于创建、管理和编排容器,是Moby项目的一部分。Docker公司是整个Moby项目的维护者。Docker Daemon(引擎)是运行和编排Docker的基础工具,有社区版和企业版,版本号格式为YY.MM-xx。该项目上多数项目和工具都是基于Golang语言编写(Go语言是谷歌新推出的系统级编程语言)。
我学习Docker是想使用RNACocktail(A comprehensive framework for accurate and efficient RNA-Seq analysis)做一下转录组的分析。因为这个软件有Docker镜像。这样使用起来就很方便了,不会被前期的软件安装弄得做不下去。
今天就先写到这里吧。
补充知识:
运行时(Runtime) :就是系统在运行时的一些机制,其中最主要的是消息机制。