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