基於容器制作鏡像


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        Don't 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上供別人參考

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM