Docker在CentOS映象中搭建JDK和Tomcat
條件:在VM虛擬機器安裝Centos,安裝並啟動Docker,並準備好JDK、Tomcat和Centos映象。
我這裡用的是JDK8、Tomcat8,放在/home目錄中,從docker映象倉庫中把centos的映象pull下來。
啟動映象後會自動進入到容器中,由於將虛擬機器中的/home目錄掛載到容器的/home/software目錄中,直接進入到容器的/home/software目錄,可以看到虛擬機器/home目錄中的內容。啟動命令時,加入--privileged=true目的是賦給容器管理員許可權,不加管理員許可權的話,經測試,如果使用ubuntu映象,會看不到掛載的目錄。
通過mkdir /opt/jdk8建立目錄,將jdk解壓到該目錄中。
解壓成功並可以在/opt/jdk8中看到解壓的內容。
接下來需要配置環境變數。
使用vi編輯/etc/profile檔案,在最後增加兩行:
export JAVA_HOME=/opt/jdk8/jdk1.8.0_112
export PATH=$PATH:$JAVA_HOME/bin
儲存並退出。
執行source /etc/profile
隨後執行java -version即可看到java的版本資訊。
同樣,在/opt目錄下建立tomcat子目錄並解壓tomcat到該目錄。
進入到解壓的tomcat的bin目錄下,執行啟動指令碼。啟動成功後,使用curl測試,能夠訪問(Tomcat的預設埠是8080)。到目前為止,JDK和Tomcat的搭建完成了。還有一個問題是,這個時候只能在容器內訪問,並不能在宿主機(VM的虛擬機器)訪問。這是因為之前啟動映象時,沒有將宿主機的埠和容器的埠繫結。現在退出容器:ctr+d或者輸入exit命令。並用docker commit將剛剛的容器打包成新的映象,這樣就不用每次都重新搭建JDK和Tomcat。
新映象生成後,執行映象並通過-p引數將宿主機的埠和容器的埠繫結。
綁定了埠並啟動Tomcat之後,在windos中通過瀏覽器訪問VM虛擬機器的80埠,可以訪問到容器的Tomcat,我這裡的VM虛擬機器的ip是192.168.40.128