Docker環境安裝部署Java應用(含安裝Tomcat和JDK)


1.部署思路

兩台docker機(centos 7系統),Docker 版本:18.09.6, build 481bc77156

Docker host IP:192.168.102.135

Docker client IP:192.168.102.134

在centos host上部署dokcer,並在docker容器中部署tomcat及jdk、webapp,部署后測試通過,並推入私有倉庫。docker client端從私有倉庫拉取鏡像,運行並查看運行結果。操作示意圖如下:

2.安裝tomcat

docker pull tomcat
docker run -p 8080:8080 --name mytomcat tomcat:latest # 提取鏡像,生成容器,並命名容器為:mytomcat

3.安裝jdk

在Oracle 官網下載jdk,通過工具上傳到centos 7中,然后拷貝到容器中,命令如下:

docker cp *****.gz mytomcat:/root

拷貝成功后,使用如下命令,進入容器mytomcat:

docker exec -it mytomcat bash

然后用cd ~切換到到root目錄下,然后新建目錄:/usr/local/java,並將jdk拷貝到此目錄下,使用tar命令解壓,解壓完成后,配置系統路徑:

vi ~/.bashrc

如果此時提示vi命令找不到,則需要運行以下命令,安裝vi.

apt-get update#安裝vi
apt-get install vim

有了次軟件后,打開.bashrc文件,並在其中添加如下兩行:

export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH

刷新配置:source ~/.bashrc,並用java -version測試是否安裝成功。

3.部署web應用

上傳war包,並傳入mytomcat容器中。注意,拷貝命令是:docker cp ibweb.war 97430ad8c4ba:/usr/local/tomcat/webapps,而非:docker cp ibweb.war 97430ad8c4ba:/webapps

然后使用命令重啟容器,以測試war包發布

docker restart mytomcat

 或者命令:

docker stop mytomcat
docker start mytomcat

測試通過后,將此容器建立鏡像,所需命令為:

docker commit -a 'clyan' -m 'this is the first version' 3d9cdd799aef mytomcat:v1
#docker  commit -m  “提交說明文字”  -a  “作者”   要提交的容器名  提交后的鏡像名:提交后的鏡像tag名  

注意,本命令既可以使用容器id,又可以使用容器名稱。

打包成功后,需要打標簽(此時如果不打標簽為如下格式,則會出錯

docker tag e6d190ad3797 192.168.102.135:5000/mytomcat

tag語法:[容器ID|容器名稱][倉庫][標簽]

完成后,推入私有庫(此時要確保私有庫已經運行)

docker push 192.168.102.135:5000/mytomcat

推入成功后,客戶端從私有庫中拉取鏡像,並轉為容器,並運行:

docker pull 192.168.102.135:5000/mytomcat
docker run -p 8080:8080 --name mytomcat 192.168.102.135:5000/mytomcat:v1

4.注意事項:

使用命令拉取私有倉庫鏡像,並安裝:

docker pull registry
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry  --name private_registry registry

Docker中配置私有倉庫需要在:/etc/docker目錄下建立文件daemon.json,內容如下:

{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["192.168.102.135:5000"]
}

或者根據systemctl status docker來確定docker文件,打開后在ExecStart行添加內容:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.221.129:5000
systemctl daemon-reload
systemctl restart docker

 常用命令:

docker ps -n 5#查看容器
docker ps#查看運行容器
docker rm #刪除容器
docker rmi #刪除鏡像

 


免責聲明!

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



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