兩臺docker機(centos 7系統),Docker 版本:18.09.6, build 481bc77156java
Docker host IP:192.168.102.135web
Docker client IP:192.168.102.134docker
在centos host上部署dokcer,並在docker容器中部署tomcat及jdk、webapp,部署後測試經過,並推入私有倉庫。docker client端從私有倉庫拉取鏡像,運行並查看運行結果。操做示意圖以下:json
docker pull tomcat
docker run -p 8080:8080 --name mytomcat tomcat:latest # 提取鏡像,生成容器,並命名容器爲:mytomcat
在Oracle 官網下載jdk,經過工具上傳到centos 7中,而後拷貝到容器中,命令以下:vim
docker cp *****.gz mytomcat:/root
拷貝成功後,使用以下命令,進入容器mytomcat:centos
docker exec -it mytomcat bash
而後用cd ~切換到到root目錄下,而後新建目錄:/usr/local/java,並將jdk拷貝到此目錄下,使用tar命令解壓,解壓完成後,配置系統路徑:tomcat
vi ~/.bashrc
若是此時提示vi命令找不到,則須要運行如下命令,安裝vi.bash
apt-get update#安裝vi apt-get install vim
有了次軟件後,打開.bashrc文件,並在其中添加以下兩行:app
export JAVA_HOME=/usr/local/java/jdk1.8.0_211 export PATH=$JAVA_HOME/bin:$PATH
刷新配置:source ~/.bashrc,並用java -version測試是否安裝成功。webapp
上傳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
使用命令拉取私有倉庫鏡像,並安裝:
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 #刪除鏡像