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


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


已知默認啟動容器內服務有兩種方式
1、在啟動容器的時候,后面跟上需要執行的腳本,例如:docker run -idt container_id /bin/start-service.sh, ps:start-service.sh為鏡像內的腳本。
2、使用docker file

創建一個Dockerfile,內容如下

#選擇一個已有的os鏡像作為基礎
FROM centos:centos6

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

#安裝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

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

#下面這兩句比較特殊,在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_key

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

然后執行:docker build -t centos-ssh:1.0 .,會創建一個新的鏡像centos-ssh,tag為1.0,在創建容器時,后台會自動執行RUN和cmd的命令。


免責聲明!

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



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