Docker如何打包本地環(huán)境為tar包給別人使用
Docker打包本地環(huán)境
最近工作中需要跨部門協(xié)同合作,我的虛擬機上安裝了很多包,這樣一個環(huán)境運行我自己的代碼都能正常使用,但是給別人使用會報缺少某些包的錯誤,而且讓別人裝的話容易裝出問題,另外不同的人使用還要重新安裝一遍依賴包,太麻煩了。
所以,我們這邊用docker鏡像裝好所有環(huán)境并且合入全部代碼打包成docker鏡像,別人就可以直接使用,省去很多麻煩的事情。做個記錄。
從docker hub上拉取一個輕量化的鏡像
1.首先從docker hub上找一個適合別人虛擬機操作系統(tǒng)的docker鏡像,這里需要先注冊登錄。
2. 在自己的虛擬機上登錄個人docker賬號,docker login
3. 登錄之后就可以拉取鏡像了:docker pull rishabhthakur98/ubuntu18python3.6:v1,其中后面的v1是鏡像的tags,可以在docker hub看到。
4. 現(xiàn)在查看本地鏡像就會發(fā)現(xiàn)多了一個剛才拉的鏡像了:docker images
5. 現(xiàn)在可以運行這個鏡像:docker run -it e08af9d068c6【image ID】,此時本地會產(chǎn)生一個新的容器:docker ps -a查看。
6. 第一次運行鏡像會自動進去容器,exit退出容器。
下次進入時要先啟動容器:docker start b58c5185b76e【容器ID】,然后附著進容器:docker attach b58c5185b76e【容器ID】。
此時,你可以在這個容器內(nèi)部安裝自己需要的東西,寫好各種需要的代碼,下一步準(zhǔn)備打包。
把建好的容器打包給其他人使用
先退出容器:exit或者ctrl + D
提交全部更改到本地容器:docker commit 【容器ID】
此時的容器會生成一個新的未命名的鏡像。我們需要對它重新命名,
鏡像重命名:docker tag 0bc42f7ff218【鏡像ID】 sqlmap_docker:v1【名稱:版本】
鏡像打包:docker save sqlmap_docker:v1 > [/root/]sqlmap_docker .tar [/root/]指定存放的路徑。
打包完成可以在相應(yīng)目錄下看到多了一個tar包,這就是你裝好環(huán)境的docker鏡像。
把這個鏡像的tar包發(fā)送給別人, 然后他那邊導(dǎo)入你的鏡像:docker load -i sqlmap_docker .tar,運行這個鏡像,進入對應(yīng)的容器,然后就可以在相應(yīng)目錄下運行你的代碼了。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux環(huán)境部署及docker安裝redis的方法
這篇文章主要介紹了linux環(huán)境部署及docker安裝redis的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08docker 啟動具有多個網(wǎng)絡(luò)接口的容器的方法示例
這篇文章主要介紹了docker 啟動具有多個網(wǎng)絡(luò)接口的容器的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10Docker Compose 網(wǎng)絡(luò)設(shè)置詳解
這篇文章主要介紹了Docker Compose 網(wǎng)絡(luò)設(shè)置詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10修改Docker鏡像默認(rèn)存儲位置的方法(解決方法)
這篇文章主要介紹了修改Docker鏡像默認(rèn)存儲位置的方法,如果上面運行 Docker 服務(wù),經(jīng)過長時間的使用,會使原本就比較大的分區(qū)越來越不夠用。如何更好地的處理這個問題呢,本文給出解決方案,需要的朋友一起看看吧2021-04-04詳解Docker掛載本地目錄及實現(xiàn)文件共享的方法
本篇文章主要介紹了詳解Docker掛載本地目錄及實現(xiàn)文件共享的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12