製作ubuntu +tomcat容器映象,併發布至ICP映象庫
一、開始製作Ubuntu16.04系統映象
1、首先下載linux環境的tomcat和jdk,並分別解壓
apache-tomcat-7.0.81.tar.gz jdk-8u11-linux-x64.tar.gz
2、建立dockerfile檔案
FROM ubuntu:16.04
MAINTAINER cetc-cuixiutao-jpetstore
ENV REFRESHED_AT 2018-10-19
#切換映象目錄,進入/usr目錄
WORKDIR /usr
#在/usr/下建立jdk目錄,用來存放jdk檔案
RUN mkdir jdk
#在/usr/下建立tomcat目錄,用來存放tomcat
RUN mkdir tomcat
#將宿主機的jdk目錄下的檔案拷至映象的/usr/jdk目錄下
ADD jdk1.8.0_11 /usr/jdk/
#將宿主機的tomcat目錄下的檔案拷至映象的/usr/tomcat目錄下
ADD apache-tomcat-7.0.81 /usr/tomcat/
ADD jpetstore.war /usr/tomcat/webapps/jpetstore.war
#設定環境變數
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=JAVA_HOME/lib/dt.jar:JRE_HOME/lib:JAVA_HOME/bin:$PATH
#公開埠
EXPOSE 8080
#設定啟動命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh",“run”]
3、構建映象
docker build -t cetc-cuixiutao-jpetstore .
4、直接執行映象
docker run -d -p 8090:8080 --name ubuntu_tomcat cetc-cuixiutao/tomcat7:latest
5、訪問tomcat
預設情況下,tomcat會佔用8080埠,剛才在啟動container的時候,指定了 -p 8090:8080,對映到宿主機埠就是8090。
6、部署一個jpetstore.war包至映象執行
1)/z/docker/目錄,把war包放進去
2)使用-v引數將war包掛載至容器內的 tomcat/webapps目錄
[[email protected] helloword]# docker run -d -p 8090:8080 -v /z/docker/jpetstore.war:/usr/tomcat/webapps/jpetstore.war --name ubuntu_tomcat_jpetstore cetc-cuixiutao/tomcat7:latest
注意:-v /z/docker/jpetstore.war:/usr/tomcat/webapps/jpetstore.war,這裡是掛載的單個檔案
二、釋出映象至ICP的docker 映象demo 名稱空間
1、建立一個名稱空間
kubectl create namespace demo
2、新建目錄
mkdir -p ~/.docker/certs.d/mycluster.icp\8500
3、拷貝主節點認證檔案至容器
scp [email protected]:/etc/docker/certs.d/mycluster.icp:8500/ca.crt ~/.docker/certs.d
4、給容器打標籤
docker tag cetc-cuixiutao-jpetstore:latest mycluster.icp:8500/demo/liberty:latest
5、登陸ICP 容器,輸入icp使用者admin和密碼admin
docker login mycluster.icp:8500
6、釋出容器映象到icp 映象demo空間
https://www.ibm.com/support/knowledgecenter/zh/SSBS6K_3.1.0/manage_images/using_docker_cli.html
docker push mycluster.icp:8500/demo/liberty:latest
二、參考知識
1、.進入容器,看下之前在Dockerfile中寫好命令要建立的tomcat和jdk目錄
docker exec -it 96729b8499a0f35604bacd423b3e2f3022ed93d1ab78a1616975799778f9a522 /bin/bash