日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Docker教程之dockerfile構建centos鏡像_docker

作者:甜點cc ? 更新時間: 2022-12-21 編程語言

構建自己的centos鏡像

docker pull centos下載下來的鏡像都是基礎版本,缺少很多常用的命令功能,比如:llvim等等,

下面介紹制作一個功能較全的自己的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

這時,ifconfigvim命令都可以使用了

4、查看鏡像構建歷史記錄

docker history imageID

CMD和ENTRYPOINT的區別

編寫CMD測試dockerfile文件

編寫dockerfile文件

FROM centos
CMD ["ls", "-a"]

構建鏡像

docker build -f ./dockerfile -t cmd-test .

啟動鏡像

docker run imageID/iamgeName

測試發現,啟動鏡像時追加的命令替換了CMD命令,如下圖所示:

編寫ENTRYPOINT測試dockerfile文件

每個Dockerfile只能有一個ENTRYPOINT,如果指定了多個,只有最后一個被執行,而且一定會被執行

FROM centos
ENTRYPOINT ["ls", "-a"]
# nginx 鏡像
ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]

總結 CMD命令會被啟動容器時追加的命令替換執行,

2.ENTRYPOINT命令不會被啟動容器時追加的命令替換,而是合并執行

原文鏈接:https://www.cnblogs.com/all-smile/p/16794753.html

欄目分類
最近更新