Docker入門(轉載)

Docker入門

 

1、Docker

一、什麼是容器?

  容器就是將軟件打包成標準化單元,用於開發、交付和部署。容器是輕量的、可執行的獨立軟件包 ,包含軟件運行所需的全部內容:代碼、運行時環境、系統工具、系統庫和設置。
簡單的講,容器就是一個存放東西的地方,好比衣櫃就是能夠存放衣物的地方,容器能夠用來存儲軟件。html

二、什麼是Docker?

(1)Docker是一種開源的容器引擎,可以自動執行重複性的任務(好比搭建、配置開發環境)。
(2)Docker不是虛擬機,是一個輕量級容器技術,可是實現了虛擬機技術的資源隔離。
注:
  虛擬機技術是虛擬出一套硬件後,在其上運行一個完整操做系統。
  容器虛擬化的是操做系統而不是硬件,容器之間是共享同一套操做系統資源的。
(3)容器還能夠進行版本管理、複製、分享、修改,就像管理普通的代碼同樣。
(4)Docker支持將軟件編譯成一個鏡像文件,並在鏡像文件中配置各類軟件,將編譯好的鏡像文件發佈出去後,別人使用時就能夠直接使用鏡像裏的各類軟件。運行中的鏡像即爲一個容器,且容器啓動很快(比虛擬機快)。mysql

三、Docker核心概念

(1)Docker主機(Host):安裝了Docker的機器(直接裝在操做系統上,好比linux上安裝docker),一個物理或者虛擬的機器,用於執行Docker守護進程和容器。
(2)Docker客戶端(Client):用於鏈接Docker主機並進行操做。經過命令行或者其餘工具操做Docker。
(3)Docker鏡像:用於建立Docker容器的模板,一些打包好的軟件鏡像。
(4)Docker倉庫:用於保存鏡像文件,能夠理解爲代碼倉庫。
注:
  DockerHub : https://hub.docker.com/
(5)Docker容器:指的是獨立運行的一個或一組應用,每一個鏡像啓動後就是一個容器,一個鏡像啓動屢次就是多個容器。linux

四、Docker使用步驟

(1)安裝Docker。參考網址: https://blog.csdn.net/GO_D_OG/article/details/75675159
(2)去Docker倉庫找到想要的鏡像文件,並下載。
(3)使用Docker運行鏡像文件,會生成一個容器。
(4)經過控制容器的啓動與關閉來操做軟件的啓動與關閉。sql

五、Docker經常使用操做

(1)操做鏡像文件:(命令行操做)docker

【從DockerHub上檢索鏡像】
    docker search 關鍵字  
    好比(檢索mysql鏡像) : docker search mysql
    
【下載鏡像】
    docker pull 鏡像名:標籤名   其中標籤名指的是版本號,若不寫則默認爲最新版本
    好比(下載mysql 5.5版本) : docker pull mysql:5.5
    
【查看本地的鏡像列表】
    docker images
    
【刪除本地鏡像】
    docker rmi image-id

(2)容器操做工具

【運行鏡像】
    docker run --name container-name -d -e MYSQL_ROOT_PASSWORD image-name
    其中:
        --name 表示自定義一個容器名
        -d 表示後臺運行
        image-name 用於指定下載的鏡像文件
        -e MYSQL_ROOT_PASSWORD 用於設置參數,mysql沒指定某個參數的話,會報錯(一個坑)
    好比(運行mysql):
      docker run --name mysqlDemo -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5
    其會生成一個id
    
【查看運行中的容器】
    docker ps -a
    其中:
        -a 能夠查看全部的容器(包括非運行的容器)
        
【中止指定容器】
    docker stop container-name/container-id
    
【啓動指定容器】
     docker start container-name/container-id
     
【刪除指定容器】
     docker rm container-id
     
【端口映射,將主機端口映射到容器端口】
    若不映射,經過訪問主機端口,不會訪問到容器中,則容器沒有用。
    -p 主機端口:容器端口
    好比:
        docker run --name mysqlDemo -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.5
        
【查看容器日誌】
    docker logs container-name/container-id

 

 

轉載自:post

Docker入門url

相關文章
相關標籤/搜索