Change Dir

          先知cd——熱愛生活是一切藝術的開始

          統計

          留言簿(18)

          積分與排名

          “?!眰兊牟┛?/h3>

          各個公司技術

          我的鏈接

          淘寶技術

          閱讀排行榜

          評論排行榜

          docker初體驗之docker-tomcat

          docker已經是現在最熱的容器技術,最近也去體驗了一下,在daocloud注冊了一個賬號,并開始本機實戰docker。daocloud免費有兩個容器可用,體驗送T恤,邀請送書,這里我分享一個daocloud的邀請碼https://account.daocloud.io/signup?invite_code=mxeq2jkmcur37vz6ven8,daocloud是非常棒的容器云平臺,使用體驗好,問題響應也及時,綁定微信還送一個額外容器。

          好吧,停止廣告,daocloud再好,也不給我發錢,真是的。

          這里就介紹一下我最簡單的一個docker-tomcat容器。

          首先在我的linux機器上安裝docker

          安裝教程特別多,隨便可以找到,我的本地環境是64位的centos7.0,所以安裝就被簡化為:

          Sudo yum install docker

          這么一句話了。

          docker的核心思想是everything is container,docker運行的就是一個個的容器,而容器是用戶完全自定義的鏡像,我個人認為最靈活的就是寫一個dockerfile(我理解就算一個鏡像了),然后把它build為鏡像并run,一個可用的容器環境就完全起來了。

          步驟:

          1,創建一個項目,最好在git

          2,寫Dockerfile文件,描述你的鏡像

          3,docker build

          4,docker run

          這樣就好了。

          于是,以我個人的項目為例:

          1,創建項目:https://github.com/changedi/mydocker

          2,編輯Dockerfilehttps://github.com/changedi/mydocker/blob/master/Dockerfile

          3,在本地項目中運行docker build <image_name> .build一個自定義名字的鏡像

          4,啟動這個鏡像容器:docker run -d -p 80:80 <image_name>

          這樣,這個鏡像就好了,服務也起來了,后續可以通過docker ps來查看啟動的鏡像,通過docker stop來停止容器。

           

          我這里解釋一下我的Dockerfile

            1 # Using a compact OS

           2 FROM ubuntu:13.10 
           3 
           4 MAINTAINER changedi <jysoftware@gmail.com> 
           5 
           6 # update source  
           7 RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list  
           8 RUN apt-get update  
           9   
          10 # Install curl  
          11 RUN apt-get -y install curl  
          12   
          13 # Install JDK 7  
          14 RUN cd /tmp &&  curl -L 'http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz' -H 'Cookie: oraclelicense=accept-securebackup-cookie; gpw_e24=Dockerfile' | tar -xz  
          15 RUN mkdir -p /usr/lib/jvm  
          16 RUN mv /tmp/jdk1.7.0_65/ /usr/lib/jvm/java-7-oracle/  
          17   
          18 # Set Oracle JDK 7 as default Java  
          19 RUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/bin/java 300     
          20 RUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle/bin/javac 300  
          21   
          22 ENV JAVA_HOME /usr/lib/jvm/java-7-oracle/  
          23   
          24 # Install tomcat7  
          25 RUN cd /tmp && curl -L 'http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz' | tar -xz  
          26 RUN mv /tmp/apache-tomcat-7.0.8/ /opt/tomcat7/  
          27   
          28 ENV CATALINA_HOME /opt/tomcat7  
          29 ENV PATH $PATH:$CATALINA_HOME/bin:$JAVA_HOME/bin  
          30 
          31 # ADD ace-java-demo-1.0.0.war /tmp/myapp/
          32 # RUN cd /tmp/myapp && jar -xvf ace-java-demo-1.0.0.war
          33 # RUN rm -rf ace-java-demo-1.0.0.war
          34 # RUN cp -R /tmp/myapp /opt/tomcat7/webapps/myapp
          35 # RUN mkdir /opt/tomcat7/webapps/myapp
          36 RUN rm -rf /opt/tomcat7/webapps/ROOT/*
          37 ADD ace-java-demo-1.0.0.war /opt/tomcat7/webapps/ROOT/ace-java-demo-1.0.0.war
          38 RUN cd /opt/tomcat7/webapps/ROOT/ && jar -xvf ace-java-demo-1.0.0.war
          39  
          40 ADD tomcat-users.xml /opt/tomcat7/conf/tomcat-users.xml
          41 # ADD server.xml /opt/tomcat7/conf/server.xml
          42 RUN cat /opt/tomcat7/conf/serv*.xml
          43 RUN ls /opt/tomcat7/conf
          44 RUN ls /opt/tomcat7/webapps
          45 
          46 ADD tomcat7.sh /etc/init.d/tomcat7  
          47 RUN chmod 755 /etc/init.d/tomcat7  
          48   
          49 # install nginx
          50 RUN apt-get install nginx -y
          51 ADD ./nginx/nginx-conf /etc/nginx/conf.d
          52 
          53 # Expose ports
          54 EXPOSE 80
          55 
          56 
          57 # Define default command.  
          58 ENTRYPOINT service tomcat7 start && tail -f /opt/tomcat7/logs/catalina.out

          主要做幾件事:

          1,拉個操作系統:這里是Ubuntu

          2,裝工具:curljdk、tomcat、nginx,配置環境變量,配置tomcat,配置nginxtomcatnginx的配置都是本地搞好,直接add

          3,部署應用(自己的war包),這里我直接利用dockerADD操作,把git項目中的文件直接add到容器中

           

          參考資料:

          1docker安裝 http://www.linuxidc.com/Linux/2014-12/110034.htm

          2dockerfile編寫 http://blog.csdn.net/we_shell/article/details/38445979

          posted on 2015-09-14 20:05 changedi 閱讀(7929) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 萝北县| 许昌市| 涪陵区| 阿克苏市| 武义县| 丹寨县| 新乐市| 曲阳县| 岳西县| 重庆市| 泸定县| 茂名市| 田林县| 梁山县| 资源县| 洛阳市| 新宁县| 黎川县| 香河县| 玛沁县| 福建省| 五河县| 平利县| 永州市| 香河县| 屏山县| 三河市| 荔浦县| 武平县| 镇远县| 阿图什市| 济宁市| 绵竹市| 伊宁市| 靖宇县| 浠水县| 思茅市| 庄浪县| 台南县| 普陀区| 涞源县|