原文鏈接:https://blog.csdn.net/qq_37936542/article/details/80824389
Docker構建鏡像的方法主要有兩種:
(1)使用docker commit命令;
(2)使用docker build命令和Dockerfile文件(更為強大、靈活和常用);
一:准備centos鏡像
docker pull centos
二:下載jdk、tomcat安裝包,上傳/usr/local/soft目錄下
jdk1.8下載:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat8下載:https://tomcat.apache.org/download-80.cgi
三:解壓,創建Dockerfile文件
-
tar -zxvf apache-tomcat-8.5.31.tar.gz #解壓tomcat
-
-
tar -zxvf jdk-8u171-linux-x64.tar.gz #解壓jdk
-
-
rm -rf apache-tomcat-8.5.31.tar.gz #刪除安裝包
-
-
rm -rf jdk-8u171-linux-x64.tar.gz #刪除安裝包
-
-
touch Dockerfile #創建文件
操作完成之后,soft目錄內容如下:
四:編寫Dockerfile文件
-
#指定操作的鏡像
-
FROM centos
-
-
# 維護者信息
-
MAINTAINER biubiu
-
-
#執行命令:創建目錄
-
RUN mkdir -p /usr/local/soft
-
#將jdk1.8.0_171添加到鏡像centos的/usr/local/soft/目錄下,並命名為jdk
-
ADD jdk1.8.0_171 /usr/local/soft/jdk
-
#將apache-tomcat-8.5.31添加到鏡像centos的/usr/local/soft/目錄下,並命名為tomcat
-
ADD apache-tomcat-8.5.31 /usr/local/soft/tomcat
-
-
#添加環境變量
-
ENV JAVA_HOME /usr/local/soft/jdk
-
ENV CATALINA_HOME /usr/local/soft/tomcat
-
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
-
-
#暴露8080端口
-
EXPOSE 8080
-
-
#啟動時運行tomcat
-
CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]
FROM : 指定基礎鏡像,並且必須是第一條指令
MAINTAINER : 指定作者
RUN : 運行指定的命令
ADD : 復制命令,把文件復制到鏡像中。
ENV : 設置環境變量
EXPOSE : 功能為暴漏容器運行時的監聽端口給外部
CMD : 指定容器啟動時運行的命令
五:構建Docker鏡像
docker build -t repostory/centos_tomcat .
-t 設置tag名稱, 命名規則registry/image:tag(若不添加版本號,默認latest)
. 表示使用當前目錄下的Dockerfile文件(注意語句后面有一個點)
六:啟動鏡像,訪問
docker run -d -p 8080:8080 --name Icentos repostory/centos_tomcat
-d 后台運行
-p 端口映射 宿主機port : 容器port
--name 指定容器運行名稱