docker 映象在使用的過程中有個非常不錯的優點就是你可以基於乙個基礎映象新增你需要的東西來發布生產映象。
假如你有個專案是基於 python3 進行開發的,你可以找乙個適合專案的基礎映象或者自己製作乙個基礎映象。
我們以比較通用的 python3.7映象為例,映象的位址為rackspacedot/python37:latest
你可以執行以下命令將映象拉取到本地:
sudo docker pull rackspacedot/python37:latest
映象拉取到本地以後,進入你專案的開發環境目錄,我們以 /users/jin/pycharmprojects/project1 為例:
cd /users/jin/pycharmprojects/project1
接下來我們將剛剛拉取的映象啟動為測試容器
現在你已經將 shell 環境切換到映象啟動的容器內了。
-p 8080:8080 容器內的 8080 埠對映到了外部的 8080 埠。
你的 terminal 看起來會類似下面這樣。
你可以執行 ls 來檢視路徑內的檔案,可以看到檔案跟你啟動容器前是一致的。
以 django 專案為例,我們首先要 pip 安裝需要的依賴,你可以先執行以下命令來檢視裡面的 pip 版本。
pip -v
接下來我們可以通過執行以下命令來安裝專案的依賴檔案,假設你已經將專案所需的依賴包都放置在 requirements.txt 裡面,如果還沒有生成 requirements.txt ,你可以在容器外執行 pip freeze > requirements.txt 進行新增。
pip install -r requirements.txt
依賴過程中,可能會報有些軟體依賴不存在導致的錯誤。你可以手動安裝相關的軟體,比如我的有個專案用到了 ldap 進行使用者認證,需要用到 libldap2-dev 和 libsasl2-dev,你可以執行以下命令進行修復:鄭州****哪個醫院好
apt-get install libldap2-dev libsasl2-dev
專案需要的軟體依賴安裝好後,你就可以嘗試執行你專案的啟動命令,以乙個 django 專案,啟動命令通常如下:
python3 manage.py runserver 0.0.0.0:8080
如果一切正常,你可以在瀏覽器輸入位址 訪問到你的服務。
你所需的軟體依賴就可以寫到映象構建的 dockerfile 裡面。
例如:from rackspacedot/python37:latest
run apt-get update -y && apt-get install -y \
libldap2-dev \
libsasl2-dev &&\
pip install -r requirements.txt && \
expose 8080
docker映象與docker容器
映象與容器的關係 映象 例如系統安裝映象 已經裝好環境的虛擬機器 執行一次 就是乙個容器 新的作業系統 當作是容器的 源 如同物件導向中的類 容器 裝好的系統 乙個乙個的作業系統,或者是已經裝好東西的系統 如同物件導向的物件 docker search 包名 搜尋包 一般都是去hub.docker....
Docker 容器與映象
映象 image 即是一堆唯讀層視角檔案,上一層檔案指標指向至下一層,直到最底層檔案。參照如圖,左邊為詳細的檔案系統,右邊為該檔案系統的入口視角 docker映象利用 union fs 聯合檔案系統 的技術,將其設計為分層儲存的架構。上一層映象都是依賴於下一層映象上基礎上再增加的資源 配置等。簡單理...
Docker基礎映象安裝iproute
linux下檢視ip及網絡卡資訊通常使用ifconfig和ip命令,ip命令有取代ifconfig命令的趨勢,ip命令由iproute2軟體包提供,在大部分docker基礎映象中可能未安裝此軟體包,下面介紹安裝方法。直接安裝即可 yum install y iproute建立容器 a235b93de...