Dockerfile來製作鏡像
- 前期準備
Dockerfile文件的內容,我直接貼上,免得以後忘了怎麼寫了
FROM docker.io/centos:7
MAINTAINER Jeremy
#把java與tomcat添加到容器中
ADD jdk-8u11-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.30.tar.gz /usr/local/
#配置java與tomcat環境變量
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.30
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.30
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器運行時監聽的端口
EXPOSE 8080
這裏From的內容,就是我之前下好的基礎鏡像,Centos:7
其他內容不做介紹
ENV 就是容器中要用的環境變量
注意:暴漏的端口是8080
這個鏡像是我們自己定製的,使用jdk版本和tomcat的版本都是指定的
然後,我們執行
docker build –t linx/tomcat .
注意不要忘了.,這個點是表示Dockerfile就是在當前目錄下的Dockerfile。
- 在現在的情況下,我們應該是得到了鏡像
- 現在,我們來讓容器運行起來
docker run -d -p 28080:8080 --name tomcat linux/tomcat:7
然後,容器在後臺就運行起來
可以通過,
docker ps -a
來查看容器的運行狀態,通過start來使容器up起來
docker start tomcat
然後,進入到容器中
docker exec -it tomcat /bin/bash
這樣就可以,進入到容器中,並且啓動tomcat服務
cd /usr/local/apache-tomcat-8.5.30/bin
./startup.sh
tomcat服務就起來了
將此鏡像push到docker hub上
- 首先先登陸到docker hub ,如果沒有賬號,到官網上註冊
- 登陸到docker hub,login
- 然後發佈鏡像
docker push 用戶名/倉庫名[:tag名]
這裏的 用戶名/倉庫名[:tag名] 代表的鏡像必須是本機存在的,tag名不寫的話默認就是latest。 也就是說在創建鏡像時的命名必須是規範的格式(加用戶名)。
並且用戶名就是自己在docker hub上註冊的名稱。如這裏的docker150430.
發佈成功後,這時我們用docker search 就能搜到自己提的鏡像。