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": ["
}
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
啟動成功