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