2.基於基礎映象啟動乙個容器,並進入到容器
3.在容器裡面做配置操作
安裝基礎命令
配置執行環境
安裝服務和配置服務
放業務程式**
4.提交為乙個新映象 docker commit
5.基於自己的的映象建立容器並測試訪問
格式一:dockerfile是一種被docker程式解釋執行的指令碼,由一條條命令組成,每條命令對應linux下面的一條命令,docker程式將這些dockerfile指令再翻譯成真正的linux命令,其有自己的書寫方式和支援的命令,docker程式讀取dockerfile並根據指令生成docker映象。相比手動製作映象方式,dockerfile更能直觀的展示映象是怎麼產生的,有了dockerfile,當後期有額外的需求時,只要在之前的dockerfile新增或修改響應的命令即可重新生成新的docker映象,避免了重複手動製作映象的麻煩,類似與shell指令碼一樣,可以方便高效的製作映象格式二:
docker守護程式dockerfile逐一執行指令,如有必要,將每個指令的結果提交到新映象,然後最終輸出新映象id。docker守護程式將自動清理傳送的上下文
注:每條指令 都是獨立執行的,並會導致建立新映象。比如run , cd /tmp 對下一條指令不會有任何影響
docker將盡可能重用中間映像(快取),以顯著加速docker build命令的執行過程,這由using cache控制台輸出中的訊息指示
dockerfile常見相關指令:add copy env expose from label stopsignal user volume workdir
檢視映象的構建歷史: docker history 映象id
[root@ubuntu1804 ~]#mkdir /data/dockerfile/web/nginx/1.18.0
[root@ubuntu1804 ~]#cd /data/dockerfile/web/nginx/1.18.0
[root@ubuntu1804 1.18.0]#vim nginx.conf
user nginx;
worker_processes 1;
#daemon off;
[root@ubuntu1804 1.18.0]#wget
[root@ubuntu1804 1.18.0]#pwd
/data/dockerfile/web/nginx/1.18.0
[root@ubuntu1804 1.18.0]# ls
dockerfile nginx.conf index.html
[root@ubuntu1804 1.18.0]#cat dockerfile
#nginx dockerfile
from centos:centos7.7.1908
maintainer wei run yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl
openssl-devel \
&& useradd -r -s /sbin/nologin nginx \
&& yum clean all
add nginx-1.18.0.tar.gz /usr/local/src/
run cd /usr/local/src/nginx-1.18.0 \
&& make \
&& make install \
&& rm -rf /usr/local/src/nginx*
expose 80 443
Docker 製作和執行映象
本文目的是展示docker映象的製作和執行,以mysql為例。製作mysql映象,該映象以mysql5.6映象為基礎,並實現 新增root使用者密碼 修改配置檔案使得預設字符集為utf 8 建立目錄 docker test image joget mysql v1 映象配置檔案dockerfile ...
製作docker映象
命令docker build,從零開始來建立乙個新的映象。為此,我們需要建立乙個 dockerfile 檔案,其中包含一組指令來告訴 docker 如何構建我們的映象 指定基礎映象 from openjdk 8 dockerfile使用變數 可以在dockerfile中進行引用 工作目錄 指定ver...
製作docker映象
基礎環境說明 cat etc redhat release centos release 6.8 final 設定 docker 映象源 yum install y yum priorities rpm ivh rpm import etc pki rpm gpg rpm gpg key epel ...