Docker教程之dockerfile構(gòu)建centos鏡像
構(gòu)建自己的centos鏡像
docker pull centos下載下來的鏡像都是基礎(chǔ)版本,缺少很多常用的命令功能,比如:ll、vim等等,
下面介紹制作一個功能較全的自己的centos鏡像。
步驟
1、編寫dockerfile文件
FROM centos MAINTAINER xiao<example@163.com> ENV MYPATH /usr/local WORKDIR $MYPATH RUN yum -y install vim # vim命令 RUN yum -y install net-tools # ifconfig命令 EXPOSE 80 CMD echo $MYPATH CMD echo "---end--" CMD /bin/bash
2、構(gòu)建鏡像
-f file 指定dockerfile文件的路徑
-t tag 指定name:tag
docker build -f ./mydockerfile -t mycentos:0.1 . Successfully built e7527f97f78a Successfully tagged mycentos:0.1
3、測試運(yùn)行
docker images docker run -it mycentos:0.1
可以看到進(jìn)入容器之后,直接就是在 /usr/local 目錄下,是因?yàn)?code>dockerfile配置的WORKDIR

這時(shí),ifconfig、vim命令都可以使用了
4、查看鏡像構(gòu)建歷史記錄
docker history imageID

CMD和ENTRYPOINT的區(qū)別
編寫CMD測試dockerfile文件
編寫dockerfile文件
FROM centos CMD ["ls", "-a"]
構(gòu)建鏡像
docker build -f ./dockerfile -t cmd-test .
啟動鏡像
docker run imageID/iamgeName

測試發(fā)現(xiàn),啟動鏡像時(shí)追加的命令替換了CMD命令,如下圖所示:

編寫ENTRYPOINT測試dockerfile文件
每個Dockerfile只能有一個ENTRYPOINT,如果指定了多個,只有最后一個被執(zhí)行,而且一定會被執(zhí)行
FROM centos ENTRYPOINT ["ls", "-a"]
# nginx 鏡像 ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]

總結(jié) CMD命令會被啟動容器時(shí)追加的命令替換執(zhí)行,
2.ENTRYPOINT命令不會被啟動容器時(shí)追加的命令替換,而是合并執(zhí)行

到此這篇關(guān)于Docker教程之dockerfile構(gòu)建centos鏡像的文章就介紹到這了,更多相關(guān)dockerfile構(gòu)建centos鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker?build運(yùn)行報(bào)錯source:?not?found解決分析
這篇文章主要為大家介紹了docker?build運(yùn)行報(bào)錯source:?not?found解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
idea集合docker實(shí)現(xiàn)鏡像打包一鍵部署
這篇文章主要介紹了idea集合docker實(shí)現(xiàn)鏡像打包一鍵部署2021-02-02
docker?run容器運(yùn)行的方法實(shí)現(xiàn)
本文主要介紹了docker?run容器運(yùn)行的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
兩臺互通的服務(wù)器使用Docker部署一主兩從MySQL8.0.35的方法
本文主要介紹了在兩臺服務(wù)器上使用Docker部署一主兩從的MySQL?8.0.35架構(gòu),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
以示例講解Clickhouse Docker集群部署以及配置
這篇文章主要介紹了Clickhouse Docker集群部署及配置,示例講解的非常詳細(xì),希望可以幫助到有需要的小伙伴2021-08-08
docker容器設(shè)置時(shí)區(qū)的幾種方式小結(jié)
Docker的基礎(chǔ)鏡像設(shè)置大多是Etc/UTC,也就是標(biāo)準(zhǔn)的UTC 時(shí)間,所以要簡單的調(diào)整一下,本文主要介紹了docker容器設(shè)置時(shí)區(qū)的幾種方式小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
Docker實(shí)現(xiàn)同Ip網(wǎng)段聯(lián)通的實(shí)現(xiàn)
這篇文章主要介紹了Docker實(shí)現(xiàn)同Ip網(wǎng)段聯(lián)通的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12

