1. 程式人生 > >CentOS下Docker安裝和centos+jdk映象構建與jar包在映象中啟動

CentOS下Docker安裝和centos+jdk映象構建與jar包在映象中啟動

1.使用安裝包安裝(CentOS 7下)

Docker 要求 CentOS 系統的核心版本高於 3.10 ,檢視本頁面的前提條件來驗證你的CentOS 版本是否支援 Docker 。

通過 uname -r 命令檢視你當前的核心版本

[[email protected] ~]# uname -r 3.10.0-327.el7.x86_64

2.安裝 Docker

進入/work目錄下載安裝包:

將安裝包放入centos的/work目錄下。

[[email protected] work]# sudoyum install docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm

3.啟動 Docker 後臺服務

[[email protected] ~]# service docker start

4.配置阿里加速docker下載映象(可以加快pull映象下載)

如何配置映象加速器

針對Docker客戶端版本大於1.10.0的使用者
您可以通過修改daemon配置檔案/etc/docker/daemon.json來使用加速器:
[[email protected] ~]#sudo mkdir -p /etc/docker
[[email protected] ~]#sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["

https://g2gnglof.mirror.aliyuncs.com"]
}
EOF
[[email protected] ~]#sudo systemctl daemon-reload
[[email protected] ~]#sudo systemctl restart docker

5. docker安裝映象centos

安裝centos系統的映象

#docker pull centos

這樣不指定centos的版本,會安裝最新版本centos。

6.構建Docker centos+jdk8的映象檔案

6.1準備jdk8安裝包

·        建立工作目錄, #mkdir /work

·        在工作目錄中建立目錄用於操作映象

·        #cd /work

·        #mkdirdockerimage

·        把壓縮檔案解壓到目錄/work/dockerimage 下面

[[email protected] dockerimage]#tar -xzvf jdk-8u151-linux-x64.tar.gz

進入/work/dockerimage目錄, 在當前目錄下建立Dockerfile檔案

#cd/work/dockerimage
#vi Dockerfile

把下面內容貼上進去

#使用的基礎映象

FROM  centos

#作者資訊

MAINTAINER  ZhangXianJie "[email protected]"

#在映象中建立目錄

RUN mkdir -p/work/java/jdk1.8.0_151

#把下載解壓的jdk我的在當前目錄下,新增到映象指定資料夾

ADD jdk1.8.0_151/work/java/jdk1.8.0_151

#新增環境變數

ENV JAVA_HOME/work/java/jdk1.8.0_151

ENV PATH$PATH:$JAVA_HOME/bin

#暴露8080

EXPOSE 8080

EXPOSE 80

6.2開始構建docker映象檔案

[[email protected] dockerimage]#docker build -t repos_local/centos-jdk8:0.0.1.
-t 設定tag名稱, 命名規則registry/image:tag
.
表示使用當前目錄下的Dockerfile檔案 --這個點很重要不要漏了

版本號自定義為0.0.1

等待構建完成, 不出意外的話, 執行docker images將會得到以下結果

[[email protected]]# docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE

repos_local/centos-jdk8   0.0.1               1fefd2abe1ce        45 seconds ago      581MB //這個是新構建的

centos                    latest              d123f4e55e12        2 weeks ago         197MB//這個是準備好的映象是pull下來的

repos_local/centos-jdk8映象已經構建好了。

6.3進入映象對話視窗

[[email protected]]# docker run -i -t repos_local/centos-jdk8:0.0.1 /bin/bash

[[email protected] /]#             

退出docker

[[email protected] /]# exit

exit

repos_local這個是存放目錄,可以在 執行dock images 的REPOSITORY看到。

6.4準備jar檔案

·        打包spring boot jar檔案。

·        生成 algo-algorithms-boot-0.0.1-SNAPSHOT.jar 檔案。

·        將生成的jar檔案,放入linux系統的/work/目錄

6.5 將主機jar包匯入容器

檢視docker的id(docker執行狀態下才可以看到,可以在一個終端進入容器,再開啟另一個終端執行一下命令)

[[email protected] dockerimage]# docker ps

CONTAINERID       IMAGE                          COMMAND             CREATED             STATUS              PORTS               NAMES

9f4b8e8b79c2       repos_local/centos-jdk8:0.0.1  "/bin/bash"         27seconds ago      Up 27 seconds       80/tcp, 8080/tcp    stupefied_nightingale                           

紅色是ID

[[email protected] ~]#docker cp /work/algo-algorithms-boot-0.0.1-SNAPSHOT.jar 9f4b8e8b79c2:/work/

在主機終端下複製jar包到容器,紅色部分是容器的ID

6.6啟動jar包

·        進入映象

·        [[email protected]]# docker run -i -t repos_local/centos-jdk8:0.0.1 /bin/bash

·        [[email protected]]#

·        進入映象系統的 /work 資料夾

·        這個時候/work目錄中被包含在映象中的jar檔案已經存在了。

·        cd/work

[[email protected]]# java -jar algo-algorithms-boot-0.0.1-SNAPSHOT.jar 

 啟動成功