Docker教程之dockerfile構建centos鏡像
構建自己的centos鏡像
docker pull centos
下載下來的鏡像都是基礎版本,缺少很多常用的命令功能,比如: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、構建鏡像
-f file 指定dockerfile文件的路徑
-t tag 指定name:tag
docker build -f ./mydockerfile -t mycentos:0.1 . Successfully built e7527f97f78a Successfully tagged mycentos:0.1
3、測試運行
docker images docker run -it mycentos:0.1
可以看到進入容器之后,直接就是在 /usr/local
目錄下,是因為dockerfile
配置的WORKDIR
這時,ifconfig
、vim
命令都可以使用了
4、查看鏡像構建歷史記錄
docker history imageID
CMD和ENTRYPOINT的區(qū)別
編寫CMD測試dockerfile文件
編寫dockerfile文件
FROM centos CMD ["ls", "-a"]
構建鏡像
docker build -f ./dockerfile -t cmd-test .
啟動鏡像
docker run imageID/iamgeName
測試發(fā)現(xiàn),啟動鏡像時追加的命令替換了CMD
命令,如下圖所示:
編寫ENTRYPOINT測試dockerfile文件
每個Dockerfile
只能有一個ENTRYPOINT
,如果指定了多個,只有最后一個被執(zhí)行,而且一定會被執(zhí)行
FROM centos ENTRYPOINT ["ls", "-a"]
# nginx 鏡像 ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]
總結 CMD
命令會被啟動容器時追加的命令替換執(zhí)行,
2.ENTRYPOINT
命令不會被啟動容器時追加的命令替換,而是合并執(zhí)行
到此這篇關于Docker教程之dockerfile構建centos鏡像的文章就介紹到這了,更多相關dockerfile構建centos鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker創(chuàng)建openresty容器的實現(xiàn)步驟
OpenResty可以用來構建高性能的Web應用和服務,本文主要介紹了Docker創(chuàng)建openresty容器的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2024-03-03快速使用docker-compose部署clickhouse的教程
ClickHouse 的工作速度比傳統(tǒng)方法快 100-1000 倍。它適用于大數(shù)據(jù)、業(yè)務分析和時間序列數(shù)據(jù)。在這個小教程中,我將向您展示如何以最少的設置安裝 ClickHouse,感興趣的朋友一起看看吧2021-11-11Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法
今天給大家分享Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法,利用docker模擬mysql設置的主從同步,通過兩種方式給大家介紹的非常詳細,需要的朋友參考下吧2021-06-06