[筆記] docker入門篇1

1.docker的概念

docker是一個依賴於linux內核的軟件。同時是一個典型的C/S架構的軟件,分爲Docker Client和Docker Server。熟悉github的同窗能夠和git作一下對比。linux

1.介紹兩個相當重要的概念(鏡像,容器)

  • 1.鏡像,容器

通常書上會拿面向對象編程語言的例子來解釋,鏡像至關於這類語言中的類,而容器則是new出來的對象。我是這樣理解的,動手裝過操做系統的同窗都知道iso文件吧,這個文件也叫做鏡像文件,咱們說的docker鏡像就至關於這個iso文件。將這個iso文件執行起來(就是安裝操做系統的過程),在內存中創建的模型就是容器了。git

  • 2.鏡像的兩種獲取方式(提到的命令在下一篇中會詳細的講解,有印象便可)github

  • 1.Dockerfiledocker

這種方式是本身寫Dockerfile腳本,同shell script相似,可是要簡單得多。下文會介紹腳本命令。寫完Docker腳本後,能夠運行docker build -t tag dockerfile-path(Dockerfile文件路徑),例如:docker build -t icngor/lamp:2.0 ·(注意最後的點,表示Dockerfile就在當前目錄)shell

  • 2.從dockerHub或第三方網站下載

dockerHub是docker官方提供的鏡像下載中心,第三方網站通常是從這個網站同步的,也能夠是由公司內部搭建的。使用docker pull 鏡像名稱:版本,例如:docker pull icngor/lamp:2.0編程

經過上面兩種方式得到了image(鏡像)。接下來使用docker images查看鏡像 輸入圖片說明centos

2.Dockerfile命令

* FROM centos:centos6

要構建一個新的鏡像,首先須要繼承一個已有的鏡像。這條指令就是在centos:centos6的基礎上進行構建。執行docker build時會下載centos:centos6鏡像。

* MAINTAINER 

做者信息

* ENV <key> <value>

設置一個系統的環境變量

* COPY <src> <dest>,ADD <src> <dest>

都是將文件複製到容器,ADD與COPY相比多了兩個功能,下載URL和解壓.  

* EXPOSE

暴露容器中的端口號

* ENTERYPOINT,CMD,RUN

三者的相同點均可以運行shell命令,下面對比一下三者的不一樣點:
 * RUN是在building image時會運行的指令, 在Dockerfile中能夠寫多條RUN指令.
 * CMD和ENTRYPOINT則是在運行container (容器)時會運行的指令, 都只能寫一條, 若是寫了多條, 則最後一條生效.
* CMD和ENTRYPOINT的區別是: 
CMD在運行時會被command覆蓋, ENTRYPOINT不會被運行時的command覆蓋
若是要覆蓋ENTRYPOINT, 那麼能夠在docker run運行時輸入 --entrypoint="....".

* ONBUILD

在子鏡像構建過程當中執行的一些通用操做

1.Dockerfile實例編寫

docker的安裝【很簡單,就沒寫,百度一下有不少哦】

兩個重要的概念和Dockerfile

docker經常使用命令總結

經常使用命令

docker build -t 命名鏡像 指定Dockerfile文件的位置 docker images docker run -it -d -p -P -v -e --name docker ps -a docker exec -it tag /bin/bashbash

docker run -it --rm 容器推出口,刪除容器架構

相關文章
相關標籤/搜索