Docker問題排查(一)鏡像製作

對centos鏡像進行開啓ssh操作打包成新的鏡像,使用dockerfile如下:

FROM centos
MAINTAINER Sam
RUN yum -y update
RUN yum install -y passwd openssh-server openssh-clients initscripts net-tool
RUN yum install python-setuptools -y
RUN easy_install supervisor
RUN echo 'root:root' | chpasswd
RUN /usr/sbin/sshd-keygen

EXPOSE 22
CMD /usr/sbin/sshd -D

其中執行到net-tools會報錯,導致無法正常打包。因此,先將基礎鏡像centos部署成容器,再進入容器依次執行RUN裏面的命令。之後使用docker commit命令將該容器打包成新鏡像,命令如下:

# 格式:
docker commit -a "<作者>" -m "<字符串消息>"  <容器ID>  <新鏡像名>:<版本號>

得到新鏡像後,還有兩條命令沒執行,於是將原dockerfile修改爲如下:

FROM centos-pre
MAINTAINER Sam

EXPOSE 22
CMD /usr/sbin/sshd -D

注意,這裏面from是自己新打包的鏡像,之後再用docker build命令即可完成鏡像打包工作。

這裏面用到了製作鏡像的兩種方式:
1、通過容器打包鏡像docker commit
2、通過鏡像打包鏡像docker build

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章