(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 指定容器運行名稱