Docker教程之dockerfile構(gòu)建centos鏡像
構(gòu)建自己的centos鏡像
docker pull centos
下載下來(lái)的鏡像都是基礎(chǔ)版本,缺少很多常用的命令功能,比如:ll
、vim
等等,
下面介紹制作一個(gè)功能較全的自己的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、測(cè)試運(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測(cè)試dockerfile文件
編寫dockerfile文件
FROM centos CMD ["ls", "-a"]
構(gòu)建鏡像
docker build -f ./dockerfile -t cmd-test .
啟動(dòng)鏡像
docker run imageID/iamgeName
測(cè)試發(fā)現(xiàn),啟動(dòng)鏡像時(shí)追加的命令替換了CMD
命令,如下圖所示:
編寫ENTRYPOINT測(cè)試dockerfile文件
每個(gè)Dockerfile
只能有一個(gè)ENTRYPOINT
,如果指定了多個(gè),只有最后一個(gè)被執(zhí)行,而且一定會(huì)被執(zhí)行
FROM centos ENTRYPOINT ["ls", "-a"]
# nginx 鏡像 ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]
總結(jié) CMD
命令會(huì)被啟動(dòng)容器時(shí)追加的命令替換執(zhí)行,
2.ENTRYPOINT
命令不會(huì)被啟動(dòng)容器時(shí)追加的命令替換,而是合并執(zhí)行
到此這篇關(guān)于Docker教程之dockerfile構(gòu)建centos鏡像的文章就介紹到這了,更多相關(guān)dockerfile構(gòu)建centos鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試
這篇文章主要為大家介紹了Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Docker創(chuàng)建openresty容器的實(shí)現(xiàn)步驟
OpenResty可以用來(lái)構(gòu)建高性能的Web應(yīng)用和服務(wù),本文主要介紹了Docker創(chuàng)建openresty容器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例
本文主要介紹了 Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08docker如何查看容器啟動(dòng)命令(已運(yùn)行的容器)
Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,下面這篇文章主要給大家介紹了關(guān)于docker如何查看容器啟動(dòng)命令(已運(yùn)行的容器)的相關(guān)資料,需要的朋友可以參考下2023-02-02快速使用docker-compose部署clickhouse的教程
ClickHouse 的工作速度比傳統(tǒng)方法快 100-1000 倍。它適用于大數(shù)據(jù)、業(yè)務(wù)分析和時(shí)間序列數(shù)據(jù)。在這個(gè)小教程中,我將向您展示如何以最少的設(shè)置安裝 ClickHouse,感興趣的朋友一起看看吧2021-11-11Docker 環(huán)境運(yùn)行 Mysql 和開(kāi)啟 Binlog 配置主從同步的設(shè)置方法
今天給大家分享Docker 環(huán)境運(yùn)行 Mysql 和開(kāi)啟 Binlog 配置主從同步的設(shè)置方法,利用docker模擬mysql設(shè)置的主從同步,通過(guò)兩種方式給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-06-06