1. 程式人生 > >基於容器制作鏡像

基於容器制作鏡像

auth info sts The home 我們 min 制作 效果

1、首先是拉取一個鏡像,並啟動之。我這裏使用busybox作為測試

[root@ELK-chaofeng08 ~]# docker container run --rm -it --name bbox1 busybox
/ # httpd -h
httpd: option requires an argument -- h
BusyBox v1.30.1 (2019-02-14 18:58:02 UTC) multi-call binary.

Usage: httpd [-ifv[v]] [-c CONFFILE] [-p [IP:]PORT] [-u USER[:GRP]] [-r REALM] [-h HOME]
or httpd 
-d/-e/-m STRING Listen for incoming HTTP requests -i Inetd mode -f Dont daemonize -v[v] Verbose -p [IP:]PORT Bind to IP:PORT (default *:80) -u USER[:GRP] Set uid/gid after binding to port -r REALM Authentication Realm for Basic Authentication
-h HOME Home directory (default .) -c FILE Configuration file (default {/etc,HOME}/httpd.conf) -m STRING MD5 crypt STRING -e STRING HTML encode STRING -d STRING URL decode STRING / # mkdir -pv /data/httpd created directory: /data/ created directory: /data/httpd/
/ # echo "This is the busybox" > /data/httpd/index.html

busybox鏡像一啟動默認是進入“sh”的shell交互終端,這是因為該busybox默認啟動就是運行“sh”命令。我們想一啟動這個鏡像就可以運行httpd程序。

2、我們再打開一個新的終端,然後制作鏡像,修改默認運行的命令

技術分享圖片

上面這個圖片中的-h參數解釋的不太正確,再糾正一下:

技術分享圖片

3、查看制作的鏡像

技術分享圖片

3.1、如果你沒有打標簽,可以參考這個圖片

技術分享圖片

4、我們啟動一下這個新的鏡像

技術分享圖片

看不到什麽效果,因此我們再打開一個終端看看效果

5、查看此鏡像的進程

技術分享圖片

發現我們剛剛制作的新的鏡像已經啟動了,並且默認運行的命令是“httpd -f -h /data/httpd”

6、我們看看這個image的ip是什麽

使用這個命令查看image的詳細信息

[root@ELK-chaofeng08 ~]# docker inspect db8c95fc5ba8

然後在顯示的內容的最下面,我們可以看到ip

技術分享圖片

7、訪問一下看看效果

技術分享圖片

很不錯,制作成功了。

最後我們還可以將此新的自己制作的鏡像放在dockerhub上供別人參考

技術分享圖片

基於容器制作鏡像