詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像
構(gòu)建鏡像的兩種方法:
- 使用docker commit 命令
- 使用docker build命令和Dockerfile文件
Dockerfile更搶到、靈活,推薦使用。
一般來說不是真的“創(chuàng)建”新鏡像,而是基于一個已有的基礎(chǔ)鏡像,比如Ubuntu、Fedora等,構(gòu)建新的鏡像而已。
用commit創(chuàng)建鏡像
創(chuàng)建Docker賬號
共享和發(fā)布鏡像時構(gòu)建鏡像中重要的環(huán)節(jié),可以將鏡像推送到Docker Hub或資金的私有Registry中。首先到https://hub.docker.com/account/signup/ 創(chuàng)建賬號。

郵件激活后,可以測試登錄:
$ sudo docker login

這條命令會完成登錄,并將認(rèn)證信息報錯起來供后面使用。個人認(rèn)證信息將報錯到$HOME/ .dockercfg文件中.
用 commit 命令創(chuàng)建鏡像
可以想象是往版本控制系統(tǒng)里提交變更:首先創(chuàng)建一個容器,并在容器里做修改,就行修改代碼一樣,最后在講修改提交為一個新鏡像。
創(chuàng)建一個新容器命令:
$ 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 ...

想把這個容器作為一個Web服務(wù)器來運(yùn)行,所以要把它當(dāng)前狀態(tài)保存下來,就不必每次都創(chuàng)建一個新容器并再次安裝Apache。
所以先用exit命令退出容器,再運(yùn)行docker commit命令:
$ sudo docker commit 614122c0aabb aoct/apache2

命令中,指定了要提交的修改過的容器的ID、目標(biāo)鏡像倉庫、鏡像名。commit提交的知識創(chuàng)建容器的鏡像與容器的當(dāng)前狀態(tài)之間的差異部分,很輕量。
查看新創(chuàng)建的鏡像:
$ sudo docker images aoct/apache2

也可以像git一樣,在提交鏡像時指定更多信息來描述所做的修改:
$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2

上面代碼,用-m指定行創(chuàng)建的鏡像的提交信息。--author指定鏡像作者,接著是容器ID、目標(biāo)鏡像倉庫、鏡像名。
使用docker inspect命令查看新創(chuàng)建的鏡像的詳細(xì)信息:
$ sudo docker inspect aoct/apache2

使用docker run命令從剛創(chuàng)建的新鏡像運(yùn)行一個容器:
$ sudo docker run -t -i aoct/apache2 /bin/bash

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker部署xxl-job-admin出現(xiàn)數(shù)據(jù)庫拒絕問題及解決方法
這篇文章主要介紹了docker部署xxl-job-admin出現(xiàn)數(shù)據(jù)庫拒絕問題,本文給大家分享正確的解決思路,對docker部署xxl-job-admin相關(guān)知識感興趣的朋友一起看看吧2023-02-02
基于Docker+Selenium Grid的測試技術(shù)應(yīng)用示例代碼
Selenium Grid允許我們在多臺計算機(jī)上并行運(yùn)行測試,并集中管理不同的瀏覽器版本和瀏覽器配置。這篇文章給大家介紹基于Docker+Selenium Grid的測試技術(shù)應(yīng)用示例代碼,需要的朋友參考下吧2021-08-08
docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法
本文主要介紹了docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法,文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境的教程詳解
這篇文章主要介紹了docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
使用Docker部署MySQL 5.7&8.0主從集群的方法步驟
這篇文章主要介紹了使用Docker部署MySQL 5.7&8.0主從集群的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Docker報錯Operation?not?permitted問題的解決方法
剛開始接觸Docker的朋友經(jīng)常會遇到問題,下面這篇文章主要給大家介紹了關(guān)于Docker報錯Operation?not?permitted問題的解決方法,需要的朋友可以參考下2023-02-02

