微服務容器部署與持續集成-Dockerfile

什麼是Dockerfile

  • Dockerfile 是由一系列命令和參數構成的腳本,這些命令應用於基礎鏡像並最終構建一個新的鏡像。
  1. 對於開發人員:可以爲開發團隊提供一個完全一致的開發環境。
  2. 對於測試人員:可以直接拿開發時所構建的鏡像或者通過Dockerfile 文件構建一個新的鏡像開始工作了。
  3. 對於運維人員:在部署時,可以實現應用的無縫移植。

 

Dockerfile 常用命令

命令 作用
FROM image_name:tag 定義了使用哪個基礎鏡像啓動構建流程
MAINTAINER user_name 聲明鏡像創建者
ENV key value 設置環境變量(可以寫多條)
RUN command 是Dockerfile的核心部分(可以寫多條)

ADD source_dir/file

dest_dir/file

將宿主機文件複製到容器內,如果是一個壓縮文件,將會在複製後自動解壓
COPY source_dir/file
dest_dir/file
與ADD相似,但是如果有壓縮文件並不能解壓
WORKDIR path_dir
設置工作目錄
EXPOSE port1 prot2
用來指定端口,使容器內的應用可以通過端口和外界交互
CMD argument
在構建容器時,會被docker run後的argument覆蓋
ENTRYPOINT
argument
和CMD 相似,但是並不會被docker run 指定的參數覆蓋
VOLUME
將本地文件或者其他容器的文件掛載到容器中

 

 

使用腳本創建jdk鏡像

1),創建目錄 在usr/local下面

mkdir –p /usr/local/dockerjdk8

 

2),下載 jdk-8u171-linux-x64.tar.gz 並上傳到服務器(虛擬機)中的 /usr/local/dockerjdk8目錄,如下

 

3),在usr.local/dockerjdk8目錄下創建 Dockerfile

Dockerfile 內容如下

#依賴鏡像名稱和ID
FROM centos:7
#指定鏡像創建者信息
MAINTAINER ITCAST
#切換工作目錄
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相對路徑jar,把java添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java環境變量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

如下圖

 

4),在usr/local/dockerjdk8執行構建命令

docker build ‐t='jdk1.8' .

 

如下執行命令

 

如下構建成功

 

5),在docker 查詢構建的jdk鏡像 使用docker images 命令如下

docker images

 

6),創建jdk 容器如下

docker run -di --name=tensquare_jdk jdk1.8

 

   jdk8鏡像構建完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章