目錄
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簡介(書中第一,二章內(nèi)容)
為什么會誕生Docker呢?因為,在過去,每當業(yè)務(wù)部門新增應(yīng)用時,都需要購買新服務(wù)器,那個時候一個服務(wù)器上只能跑一個應(yīng)用,購買時候總是買遠高于需求的服務(wù)器,這是一種資源浪費啊。于是乎,誕生了虛擬機(VM),但是呢虛擬機有很多缺點,比如啟動慢、難移植以及對操作系統(tǒng)有高依賴性等缺點。為了解決虛擬機的這些問題,容器(Container)技術(shù)就誕生啦。大規(guī)模Web服務(wù)的玩家一般都有這個需求,谷歌的容器開源項目是Kubernetes,目前已經(jīng)采用Docker作為其默認容器運行時(Container runtime)。
Docker這個名字取自 Dock worker(碼頭工人,從船上裝卸貨物的人),是個混成詞,就像biomarker是biological marker的混成詞一樣,感覺以后可以嘗試這樣給自己開發(fā)的算法等取個簡潔好念又有意義的英文名字。
在《Docker Deep Dive》中,作者說當有人提到Docker時,有三種概念:1.Docker公司;2.Docker的容器運行時的編排引擎;3.Docker開源項目(Moby)。一般來講,Docker是一種運行于Linux和Windows上的軟件(Mac上運行的是Linux容器),可以用于創(chuàng)建、管理和編排容器,是Moby項目的一部分。Docker公司是整個Moby項目的維護者。Docker Daemon(引擎)是運行和編排Docker的基礎(chǔ)工具,有社區(qū)版和企業(yè)版,版本號格式為YY.MM-xx。該項目上多數(shù)項目和工具都是基于Golang語言編寫(Go語言是谷歌新推出的系統(tǒng)級編程語言)。
我學習Docker是想使用RNACocktail(A comprehensive framework for accurate and efficient RNA-Seq analysis)做一下轉(zhuǎn)錄組的分析。因為這個軟件有Docker鏡像。這樣使用起來就很方便了,不會被前期的軟件安裝弄得做不下去。
今天就先寫到這里吧。
補充知識:
運行時(Runtime) :就是系統(tǒng)在運行時的一些機制,其中最主要的是消息機制。
運行時(runtime)是什么意思?應(yīng)該怎樣深入且直觀地理解? - Zombie110year的回答 - 知乎