mkdir centos5-lamp_php51 cd centos5-lamp_php51/
新增兩個檔案 Dockerfile,startup.sh
Dockerfile:
############################################################ # Dockerfile to build LAMP with PHP 5.1.x container images # Based on CentOS 5 ############################################################ FROM centos:centos5 MAINTAINER A-Lang <alang.hsu@gmail.com> RUN rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 RUN yum -y update RUN yum -y install mysql-server RUN yum -y install httpd php php-mbstring php-mysql RUN yum -y install wv links pdftohtml tidy html2ps ADD ./startup.sh /opt/startup.sh RUN chmod +x /opt/startup.sh RUN echo "/opt/startup.sh" >> /etc/bashrc EXPOSE 80 3306 CMD ["/bin/bash"]
startup.sh:
#!/usr/bin/env bash #=============================================================================== # # AUTHOR: A-Lang <alang.hsu@gmail.com> # #=============================================================================== echo "Starting mysql:" service mysqld start echo "Starting Apache:" service httpd start
開始 build image
docker build -t alang/centos5-lamp_php51 .
build 的程序會按照 Dockerfile 的內容依序完成。
完成後,檢查 image。
#> docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE alang/centos5-lamp_php51 latest 967949717d3f 19 minutes ago 717.8 MB centos centos5 192178b11d36 2 weeks ago 466.9 MB ubuntu latest 5506de2b643b 4 weeks ago 199.3 MB ubuntu 12.04 0b310e6bf058 4 weeks ago 126.7 MB ubuntu 13.10 195eb90b5349 5 months ago 184.7 MB
開啟這個 image 成為一個 container
#> docker run -t -i alang/centos-lamp_php51
NOTE:
contaioner 開啟會直接進入它的 console,想跳離開但又不想結束 container,可以按下 Ctrl P 後再按下 Ctrl Q,就可以跳離至 host。
在 host 時,想重新進入開啟中的 container,可以執行 docker attach <container-ID>
另一種以 daemon 方式開啟 container
#> docker run -d -t alang/centos-lamp_php51
NOTE:
注意:這樣的啟動方式,無法使用 docker attach 進入該 container console。
Dockerfile 範例
Dockerfile 語法