在私有化部署的時候我們會用到docker, 使用docker的話裡面有兩樣東西是常用的, 一樣是images, 也就是映象, 另一種是容器container,我們都知道容器是通過映象建立的, 而映象我們初學都是從公共端拉取的, 那麼如果我想要乙個不一樣點的容器, 或者乙個不一樣的映象該怎麼做呢?
在docker裡面有個叫做dockerfile的東西, 通過它我們可以對容器進行設定, 設定好後我們就可以通過這個dockerfile進行容器的建立, 然後我們就擁有了自己的定製容器, 甚至最後我們還可以就定製容器匯出新的映象到自己的docker倉庫, 這樣下次我們就可以直接去倉庫拉取我們以前建立好的映象了, 是不是和git很像?
那麼在dockerfile裡面我們該如何進行配置呢?
首先找乙個網上的用例:
from python
add . /code
workdir /code
run pip3 install pymysql flask redis paho-mqtt
cmd python emq_sub_test.py
裡面的引數詳解如下:
from: 匯入什麼映象, 例如上面就是採用python映象, 如果你本地沒有的話,會主動去公共端拉取
workdir: 指定容器的執行路徑在哪
run: 安裝容器時執行的命令
cmd: 就是我們通過容器終端執行的內容
這樣就構建好了乙個dockerfile,然後我們通過docker build -t dockerfile_name就可以構建乙個映象啦
構建後我們可以通過images去檢視自己的映象, 會找到乙個新的映象, 通過該映象就可以建立自己想要的容器。
而通過新的容器建立新的容器也很簡單, 直接利用docker commit 命令提交容器的更改內容到本地容器, 然後在push到自己的遠端映象倉庫即可, 可別忘了docker login, 不然是鐵定傳不上去的。
Dockerfile的常用指令
dockerfile命令格式 nginx test 映象名稱 映象標籤 docker build t nginx test 功能 cmd指令用於指定乙個容器啟動時要執行的命令。例 這裡我們將 l標誌傳遞給了 bin bash命令。cmd bin bash l 功能 entrypoint與cmd指令類...
Dockerfile 常用指令
下面列出了 dockerfile 中最常用的指令,完整列表和說明可參看官方文件。from 指定 base 映象。maintainer 設定映象的作者,可以是任意字串。copy 將檔案從 build context 複製到映象。copy 支援兩種形式 copy src dest copy src de...
Dockerfile常用指令
from from指令是最重要的乙個並且必須為dockerfile檔案開篇的第乙個非注釋行,用於為映象檔案構建過程指定基礎映象,後續的指令執行於此基礎映象提供的執行環境 這個基礎映象可以是任何可用映象,預設情況下docker build會從本地倉庫找指定的映象檔案,如果不存在就會從docker hu...