使用Docker搭建Java環境


准備

首先需要准備一個CentOS的操作系統,虛擬機也可以。具體配置要求如下:

  1. 必須是64位操作系統
  2. 建議內核在3.8以上

 

安裝Docker

只需要通過以下命令即可安裝Docker軟件

yum -y install docker-io

可使用以下命令,查看Docker是否安裝成功:

docker version

 

如果輸出看Docker的版本號,則說明安裝成功了,可通過以下命令啟動Docker服務:

service docker start
如果service命令啟動不了用下面的
systemctl start docker.service

 

 

做法

就像安裝軟件一樣,我們首先需要有一張刻錄了該軟件的光盤,如果使用的是虛擬光驅,那么就需要准備鏡像的文件,通過它來安裝軟件。在Docker的世界里,也是有鏡像的文件的,已經安裝我們所需的操作系統,我們一般稱為Docker鏡像

下載鏡像

docker search <image>

使用docker pull imagename(鏡像名)來下載鏡像

 

下載完成后使用以下命令查看本地所有的鏡像:

docker images

當下載完成后,你應該會看到:

REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/centos     centos7             f753707788c5        12 days ago         127.1 MB

如果看到以上輸出,說明你可以使用 “docker.cn/docker/centos”這個鏡像了,或將其稱為倉庫(Repository),該鏡像有一個名為”centos7”的標簽(Tag),此外還有一個名為”25c5298b1a36”的鏡像ID(這個是隨機生成,所以每個人看到的都不一樣)

啟動容器

容器是在鏡像的基礎上來運行的,一旦容器啟動了,我們就可以登錄到容器中,安裝自己所需的軟件或應用程序。

 

使用進入已經運行的docker

docker  attach  dabfb413d8cf[容器ID]

使用以下命令即可啟動容器:

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5
docker run <相關參數> <鏡像 ID> <初始命令>

其中相關參數包括:

-i:表示以交互模式運行容器

-t:表示容器啟動后會進入其命令行

-v:表示需要將本地哪個目錄掛載到容器中,格式-v<宿主機目錄>:<容器目錄>

假設我們的所有安裝程序都放在了宿主機的/root/software/目錄下,現在需要將其掛載到容器的/mnt/software/目錄下。

這一切做好后你就可以為這個容器安裝軟件了。

Docker 傳送文件命令

docker cp more.log e7de404c00bd:/tmp/  

1f8787b81bcd

 

安裝Java開發環境

我們需要安裝的有jdk1.7,、tomcat7、nginx,安裝包去官網下載就行了

  1. 安裝jdk

首先,解壓JDK程序包:

tar  -zxf  jdk-7u71-linux-x64.tar.gz –C

如果是rpm包

rpm –ivh  jdk-7u71-linux-x64.tar.gz

然后重命名文件夾

mv jdk1.7.0_71/ jdk/

最后配置環境變量

vi  ~/.bashrc

在文件末尾添加如下配置:

export  JAVA_HOME=/opt/jdk

export  PATH=$PATH:$JAVA_HOME

·用文本編輯器打開/etc/profile 
·在profile文件末尾加入: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

最后使用source命令,讓環境變量生效:

source ~/.bashrc

source /etc/profile

 

  1. 安裝Tomcat

也是一樣,解壓Tomcat程序包:

tar  –zxf  apache-tomcat-7.0.55.tar.gz 

然后重命名Tomcat目錄:

mv  apache-tomcat-7.0.55/  tomcat/

 

編寫一個運行腳本,當啟動容器時,運行該腳本,啟動Tomcat,具體過程如下:

vi  /root/run.sh

然后,編輯腳本內容如下:

#!/bin/bash

source  ~/.bashrc

sh  /opt/tomcat/bin/catalina.sh run

注意:這里必須先加載環境,然后使用Tomcat的運行腳本來運行Tomcat

最后,為運行腳本添加執行權限:

chmod  u+x  /root/run.sh

 

  1. 安裝nginx

先去官網下載源碼包注意要是gz的

http://nginx.org/en/download.html   下載地址

下載完后,解壓安裝包:

tar  -zxvf  nginx-1.11.5.tar.gz

然后再配置安裝變量,打開解壓后的目錄-執行命令

cd  nginx-1.11.5

配置安裝環境

./configure  --prefix=/usr/local/servers/nginx  “/usr/local/servers/nginx”是安裝路徑

有可能會出現./configure: error: C compiler cc is not found

這時需要運行命令更新一下gcc

yum  install  gcc  gcc-c++  ncurses-devel  perl

yum  -y  install  pcre-devel

yum  -y  install  zlib-devel

yum  -y  install  autoconf  libtool  make

在解壓目錄執行:

make

切換到root用戶執行安裝命令

make  install

創建軟鏈

ln  –s  /usr/local/servers/nginx/sbin/nginx  /usr/local/bin/nginx

啟動nginx服務

nginx

再用 ps  -ef|grep nginx查看是否啟動成功

 

 

提交Docker鏡像

首先退出你剛才配置好的docker鏡像

exit

然后使用以下命令可以看到剛才退出的docker鏡像

docker ps –a

再使用以下命令,根據某個”容器ID”來創建一個新的”鏡像”:

docker  commit  57c312bbaad1  javaweb:0.1

該容器ID是”57c312bbaad1”,所創建的鏡像名是”javaweb”

注意:”57c312bbaad1” 這個ID是使用 docker ps 命令來查看的

提交了新的鏡像你可以把這個鏡像儲存tar包

docker    –o  ~/javaweb.tar  javaweb

docker  save –o  保存的目錄  鏡像名

啟動容器

先用 docker  images看看當前所有的鏡像

啟動最新創建的鏡像

docker  run  -d  -p  80:80  --name  javaweb  javaweb:0.1  /root/run.sh

 

-d:表示以”守護模式”執行/root/run.sh腳本,此時Tomcat控制台不會出現在輸出終端上。

-p:表示宿主機與容器的端口映射,此時將容器內部的80端口映射為宿主機的 80端口,這樣就向外界暴露了80端口,可通過Docker網橋來訪問容器內部的80端口了

--name:表示容器名稱,用一個有意義的名稱命名即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM