docker基礎知識

一、docker介紹node

Docker是PaaS 提供商 dotCloud 開源的一個基於 LXC 的高級容器引擎,源代碼託管在 Github 上, 基於go語言並聽從Apache2.0協議開源。
Docker是經過內核虛擬化技術(namespace以及cgroups等)來提供容器的資源隔離與安全保障。因爲Docker經過操做系統層的虛擬化實現隔離,因此Docker容器在運行時,不須要相似虛擬機( VM)額外的操做系統開銷,提升資源利用率。linux

組件:容器,鏡像,倉庫docker

用途:簡單配置、代碼流水線管理、開發效率、應用隔離、服務器整合、調試能力、多租戶、快速部署centos

 

docker改變了什麼?安全

面向產品:產品交付bash

面向開發:簡化配置環境服務器

面向測試:多版本測試架構

面向運維:環境一致性運維

面向架構:自動化擴容測試

 

二、docker部署

yum install docker

systemctl start docker

systemctl enable docker

 

查看docker信息

[root@izwz99hcysthbz36uveqfvz ~]# docker info

 

搜索docker鏡像

[root@izwz99hcysthbz36uveqfvz ~]# docker search centos(鏡像名稱)

 

查看鏡像(docker images信息包括:鏡像倉庫、標籤、鏡像ID、建立時間、大小)

[root@izwz99hcysthbz36uveqfvz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 9f38484d220f 5 days ago 202 MB

 

刪除鏡像

[root@izwz99hcysthbz36uveqfvz ~]# docker rmi centos(鏡像名稱)

 

鏡像的導出、導入和下載

[root@izwz99hcysthbz36uveqfvz ~]# docker pull centos(鏡像名稱)

[root@izwz99hcysthbz36uveqfvz ~]# docker save centos > /opt/centos.tar.gz


將linux-node2的鏡像導出文件上傳到linux-node1機器上,而後在linux-node1機器上導入

[root@izwz99hcysthbz36uveqfvz ~]# docker load < /opt/centos.tar.gz

 

首次建立一個容器

[root@linux-node4 ~]# docker run centos /bin/echo "hehe"

hehe

 

查看容器狀態

能夠使用docker ps只能看見存活的容器,docker ps -a 查看所有的容器,結果信息表示:

容器ID、使用的鏡像、執行的命令、建立的時間、狀態、端口、名稱(若是不指定,自動生成)

[root@izwz99hcysthbz36uveqfvz ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES

49a3dd40f0a1        centos              "/bin/echo hehe"    7 seconds ago       Exited (0) 6 seconds ago                       inspiring_mirzakhani

 

建立容器

--name:指定容器名稱

-t:分配一個tty終端

-i:容器的標準輸入保持打開的狀態

[root@izwz99hcysthbz36uveqfvz ~]# docker run --name mydocker -t -i centos /bin/bash

[root@405fa58d00f9 /]# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.2  0.1  11820  1884 ?        Ss   07:40   0:00 /bin/bash

root        14  0.0  0.0  51740  1736 ?        R+   07:40   0:00 ps aux

這種方式建立自動進入容器,開啓的容器只執行/bin/bash

 

啓動、中止容器

[root@izwz99hcysthbz36uveqfvz ~]# docker start ID

[root@izwz99hcysthbz36uveqfvz ~]# docker stop ID

 

進入容器

[root@izwz99hcysthbz36uveqfvz ~]# docker attach 405fa58d00f9

[root@405fa58d00f9 /]# 

 

刪除容器

[root@izwz99hcysthbz36uveqfvz ~]# docker rm ID
相關文章
相關標籤/搜索