Docker入門學習四之本身製做Docker鏡像

1、製做本身的鏡像java

      1.前提mysql

  • Dockerfile : 用來告訴Docker,我要怎麼製做個人鏡像,我要製做鏡像的每個操做是什麼
  • docker build : 該命令用來執行Dockerfile中所描述的每一件事情,最終將docker鏡像給咱們構建出來。
  • 還須要一個java web項目 能夠用Jpress(即WordPress的java實現):http://jpress.io 

      2.製做步驟nginx

      (1)下載Jpress https://github.com/JpressProjects/jpress 注意,是下載alpha分支的最新的war包git

      (2)由於是java web項目,因此須要用到tomcat,咱們首先從網易鏡像中心下載tomcat的鏡像:github

C:\WINDOWS\system32>docker pull hub.c.163.com/library/tomcat:latest
latest: Pulling from library/tomcat
9af7279b9dbd: Pull complete
31816c948f2f: Pull complete
c59a1cdf83d3: Pull complete
232c7a75d568: Pull complete
de412d312979: Pull complete
80315ba34693: Pull complete
5d3f97bd90e8: Pull complete
dc8dc63f6baa: Pull complete
f6c6e2d67f03: Pull complete
9123b340aa92: Pull complete
76abaea2279d: Pull complete
4476602e3346: Pull complete
12e1fda011bd: Pull complete
Digest: sha256:db1a8ca2fe44449d265e5505f300be6f34fc63211a5506400a0a8c24653af91f
Status: Downloaded newer image for hub.c.163.com/library/tomcat:latest


C:\WINDOWS\system32>docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
hello-world                    latest              05a3bd381fc2        7 weeks ago         1.84kB
hub.c.163.com/library/tomcat   latest              72d2be374029        2 months ago        292MB
hub.c.163.com/library/nginx    latest              46102226f2fd        6 months ago        109MB

      (3)建立Dockerfile文件,將jpress.war文件移動到Dockerfile所在目錄web

vi Dockerfile


Doclerfile內容

from hub.c.163.com/library/tomcat  #基礎鏡像的名字,以tomcat鏡像爲起點

MAINTAINER aibinxiao aibinxiao@126.com  #鏡像全部者信息

COPY jpress.war /usr/local/tomcat/webapps  #將web應用放入tomcat服務器中,後面的目錄在網易鏡像中心的tomcat鏡像的詳情能夠查看

      (4)使用docker build -t jpress:latest .命令構建鏡像,-t去個名字,jpress就是鏡像名字,latest則是版本名稱,.表示當前目錄;到此鏡像就製做好了。sql

docker build -t jpress:latest .
Sending build context to Docker daemon 20.81 MB
Step 1/3 : FROM hub.c.163.com/library/tomcat
 ---> c822d296d232
Step 2/3 : MAINTAINER aibinxiao aibinxiao@126.com
 ---> Using cache
 ---> 55e82dd26a32
Step 3/3 : COPY jpress.war /usr/local/tomcat/webapps
 ---> Using cache
 ---> 40e062337f9e
Successfully built 40e062337f9e

      (5)如何運行呢,咱們先作一個端口映射,咱們將本機的8888端口與jpress容器的8080端口,即tomcat端口進行映射,成功以後咱們就能夠訪問本地的8888端口,就能夠進入到tomcat的主頁了。docker

docker run -d -p 8888:8080 jpress
12fdb93345f253dd72766f6feada0aa7235dbfad2d030ebb8cad2adbc505363e

     

      而後,咱們訪問localhost:8888/jpress,就能進入jpress主頁了,以下圖:數據庫

     

      (5)可是要使用jpress,還須要數據庫,咱們能夠在docker裏運行一個mysql瀏覽器

     

      (6)一樣是從網易鏡像中心搜索mysql,複製mysql鏡像的地址,先pull下來

docker pull hub.c.163.com/library/mysql:latest
latest: Pulling from library/mysql
5047279b9dbd: Pull complete
31816c948f2f: Pull complete
c59a1cdf83d3: Pull complete
232c7a75d568: Pull complete
de412d312979: Pull complete
80315ba34693: Pull complete
5d3f97bd90e8: Pull complete
dc8dc63f6baa: Pull complete
f6c6e2d67f03: Pull complete
9123b340aa92: Pull complete
76abaea2279d: Pull complete
4476602e3346: Pull complete
12e1fda011bd: Pull complete
Digest: sha256:84c78ca2fe44449d265e5505f300be6f34fc63211a5506400a0a8c24653af91f
Status: Downloaded newer image for hub.c.163.com/library/msyql:latest

      運行mysql

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest
9305b93345f253dd72766f6feada0aa7235dbfad2d030ebb8cad2adbc505363e

netstat -na|grep 3306 #查看該端口是否啓用了

      (7)配置數據庫,注意數據庫名就是啓動mysql時配置的jpress,用戶名root,密碼000000,數據庫主機則是本機的ip地址,端口3306

     

      (8)配置網站信息

     

      (9)重啓jpress容器,再次在瀏覽器訪問就完成了,以下圖:

docker restart 12fdb93345f2

     

      到此就所有結束啦!

 

本文爲原創文章,若是對你有一點點的幫助,別忘了點贊哦!比心!如需轉載,請註明出處,謝謝!

相關文章
相關標籤/搜索