dockerfile——docker容器,服務自啓動

原文連接:http://blog.csdn.net/kongxx/article/details/38412119docker


已知默認啓動容器內服務有兩種方式
一、在啓動容器的時候,後面跟上須要執行的腳本,例如:docker run -idt container_id /bin/start-service.sh, ps:start-service.sh爲鏡像內的腳本。
二、使用docker filecentos

建立一個Dockerfile,內容以下ssh

#選擇一個已有的os鏡像做爲基礎
FROM centos:centos6測試

#鏡像的做者
MAINTAINER Fanbin Kong "kongxx@hotmail.com"ui

#安裝openssh-server和sudo軟件包,而且將sshd的UsePAM參數設置成no
RUN yum install -y openssh-server sudo
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config.net

#添加測試用戶admin,密碼admin,而且將此用戶添加到sudoers裏
RUN useradd admin
RUN echo "admin:admin" | chpasswd
RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoerscode

#下面這兩句比較特殊,在centos6上必需要有,不然建立出來的容器sshd不能登陸
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyserver

#啓動sshd服務而且暴露22端口
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]blog

而後執行:docker build -t centos-ssh:1.0 .,會建立一個新的鏡像centos-ssh,tag爲1.0,在建立容器時,後臺會自動執行RUN和cmd的命令。cmd

相關文章
相關標籤/搜索