詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像
構(gòu)建鏡像的兩種方法:
- 使用docker commit 命令
- 使用docker build命令和Dockerfile文件
Dockerfile更搶到、靈活,推薦使用。
一般來(lái)說(shuō)不是真的“創(chuàng)建”新鏡像,而是基于一個(gè)已有的基礎(chǔ)鏡像,比如Ubuntu、Fedora等,構(gòu)建新的鏡像而已。
用commit創(chuàng)建鏡像
創(chuàng)建Docker賬號(hào)
共享和發(fā)布鏡像時(shí)構(gòu)建鏡像中重要的環(huán)節(jié),可以將鏡像推送到Docker Hub或資金的私有Registry中。首先到https://hub.docker.com/account/signup/ 創(chuàng)建賬號(hào)。
郵件激活后,可以測(cè)試登錄:
$ sudo docker login
這條命令會(huì)完成登錄,并將認(rèn)證信息報(bào)錯(cuò)起來(lái)供后面使用。個(gè)人認(rèn)證信息將報(bào)錯(cuò)到$HOME/ .dockercfg文件中.
用 commit 命令創(chuàng)建鏡像
可以想象是往版本控制系統(tǒng)里提交變更:首先創(chuàng)建一個(gè)容器,并在容器里做修改,就行修改代碼一樣,最后在講修改提交為一個(gè)新鏡像。
創(chuàng)建一個(gè)新容器命令:
$ sudo docker run -i -t ubuntu /bin/bash
我用之前創(chuàng)建好的aoct容器:
$ sudo docker start aoct $ sudo docker attach aoct
安裝Apache:
root@614122c0aabb:/# apt-get -yqq update ... root@614122c0aabb:/# apt-get -y install apache2 ...
想把這個(gè)容器作為一個(gè)Web服務(wù)器來(lái)運(yùn)行,所以要把它當(dāng)前狀態(tài)保存下來(lái),就不必每次都創(chuàng)建一個(gè)新容器并再次安裝Apache。
所以先用exit命令退出容器,再運(yùn)行docker commit命令:
$ sudo docker commit 614122c0aabb aoct/apache2
命令中,指定了要提交的修改過(guò)的容器的ID、目標(biāo)鏡像倉(cāng)庫(kù)、鏡像名。commit提交的知識(shí)創(chuàng)建容器的鏡像與容器的當(dāng)前狀態(tài)之間的差異部分,很輕量。
查看新創(chuàng)建的鏡像:
$ sudo docker images aoct/apache2
也可以像git一樣,在提交鏡像時(shí)指定更多信息來(lái)描述所做的修改:
$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2
上面代碼,用-m指定行創(chuàng)建的鏡像的提交信息。--author指定鏡像作者,接著是容器ID、目標(biāo)鏡像倉(cāng)庫(kù)、鏡像名。
使用docker inspect命令查看新創(chuàng)建的鏡像的詳細(xì)信息:
$ sudo docker inspect aoct/apache2
使用docker run命令從剛創(chuàng)建的新鏡像運(yùn)行一個(gè)容器:
$ sudo docker run -t -i aoct/apache2 /bin/bash
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Docker安全機(jī)制內(nèi)核安全與容器之間的網(wǎng)絡(luò)安全
這篇文章主要介紹了Docker安全機(jī)制內(nèi)核安全與容器之間的網(wǎng)絡(luò)安全,具有一定參考價(jià)值,需要的朋友可以了解下。2017-09-09mac通過(guò)docker一鍵部署Nexus3的過(guò)程記錄
編寫一些簡(jiǎn)易的 shell 腳本幫我們快速的搭建服務(wù)器,猿們只要按著套路“一步一步”的操作,基本上都可以快速部署服務(wù),這篇文章主要介紹了mac通過(guò)docker一鍵部署Nexus3及安裝步驟,需要的朋友可以參考下2022-10-10Docker registry私有鏡像倉(cāng)庫(kù)服務(wù)部署案例演示
這篇文章主要為大家介紹了Docker registry私有鏡像倉(cāng)庫(kù)服務(wù)部署案例演示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04docker-compose ports和expose的區(qū)別詳解
這篇文章主要介紹了docker-compose ports和expose的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Docker 實(shí)現(xiàn)瀏覽器里開(kāi)發(fā)Android應(yīng)用的功能
這篇文章主要介紹了Docker 實(shí)現(xiàn)瀏覽器里開(kāi)發(fā)Android應(yīng)用的功能的相關(guān)資料,這里對(duì)布置環(huán)境做了詳細(xì)的步驟,也許你能用到這樣的功能,需要的朋友可以參考下2016-11-11輕松安裝docker并運(yùn)行docker swarm模式
這篇文章主要介紹了安裝docker并運(yùn)行docker swarm模式的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友一起學(xué)習(xí)吧2016-12-12Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)
本文主要介紹了Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03