基於容器制作鏡像
阿新 • • 發佈:2019-03-22
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 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上供別人參考
基於容器制作鏡像