內容
新鮮熱乎的阿里雲服務器需要臨時作為Web服務器部署一些靜態頁面,在該服務器安裝Docker(節一)並安裝Tomcat容器部署Web項目(節二)。
版本
操作系統:CentOS 7.2 64位
Docker:17.12.1.ce
Tomcat容器:8.0.51-jre8
適合人群
linux新手,docker新手,java新手
說明
轉載請說明出處:Docker入門實踐筆記(二)--安裝和配置Tomcat鏡像
參考
Docker官方命令大全:https://docs.docker.com/engine/reference/commandline/docker/
Docker命令大全-菜鳥教程:http://www.runoob.com/docker/docker-command-manual.html
Docker官方容器鏡像倉庫:https://hub.docker.com/
阿里雲容器鏡像倉庫: https://dev.aliyun.com/search.html
注:Docker官方鏡像比阿里雲鏡像版本更新。
步驟
一、准備工作
1.1創建用於映射Tomcat容器的webapps目錄,便於項目部署
[Serv@iz8vbg ~]$ mkdir docker [Serv@iz8vbg ~]$ mkdir docker/tomcat8 [Serv@iz8vbg ~]$ mkdir docker/tomcat8/webapps [Serv@iz8vbg ~]$ cd docker/tomcat8/webapps/ [Serv@iz8vbg webapps]$ pwd /home/Serv/docker/tomcat8/webapps
1.2確認Docker服務在運行狀態
docker version或systemctl status docker [Serv@iz8vbg webapps]$ systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2018-09-20 00:01:25 CST; 10h ago Docs: https://docs.docker.com
Main PID: 3067 (dockerd) Memory: 623.3M CGroup: /system.slice/docker.service ├─3067 /usr/bin/dockerd └─3074 docker-containerd --config /var/run/docker/containerd/containerd.toml
二、安裝並啟動
2.1在阿里雲容器鏡像倉庫搜索tomcat尋找目標鏡像的tag,此處為8.0.51-jre8
2.2下載Tomcat容器鏡像
[root@iz8vbg ~]# docker pull tomcat:8.0.51-jre8 8.0.51-jre8: Pulling from library/tomcat cc1a78bfd46b: Pull complete 6861473222a6: Pull complete 7e0b9c3b5ae0: Pull complete ae14ee39877a: Pull complete 8085c1b536f0: Pull complete 6e1431e84c0c: Pull complete 87c0569aaeea: Pull complete ece988bd327b: Pull complete aca87ffc0e3c: Pull complete 0ef9195fe095: Pull complete 9b7aecc9920a: Pull complete 0a88d95a7250: Pull complete Digest: sha256:8fa15f85f39220adbd402ff73de97175f7c7f3ea95bef16e502970c76fe546a5 Status: Downloaded newer image for tomcat:8.0.51-jre8
2.3運行鏡像
[Serv@iz8vbg webapps]$ sudo docker run -d -p 80:8080
-v /home/Serv/docker/tomcat8/webapps:/usr/local/tomcat/webapps \
--name tomcat8 tomcat:8.0.51-jre8 \ e39a959d7bff7c66bae8be11fc2da55b62880029dffb6856435bbc77249281a6 命令解釋: -d:后台運行容器,並返回容器ID -p:端口映射,格式為:主機(宿主)端口:容器端口。將容器的8080端口映射為宿主機的80端口,供外網訪問。 -v:綁定目錄掛載。將Tomcat容器中的webapps目錄綁定到宿主機的指定目錄,便於項目部署。 --name:為容器指定一個名稱
2.4觀察容器運行狀態
[Serv@iz8vbg webapps]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e39a959d7bff tomcat:8.0.51-jre8 "catalina.sh run" 3 minutes ago Up 3 minutes 0.0.0.0:80->8080/tcp tomcat8
2.5日志檢查tomcat的啟動情況
[Serv@iz8vbg webapps]$ sudo docker logs --tail 20 e39a959d7bff .... 20-Sep-2018 02:16:39.239 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.51
20-Sep-2018 02:16:39.246 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"] 20-Sep-2018 02:16:39.267 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"] 20-Sep-2018 02:16:39.283 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 64 ms
三、部署項目
3.1上傳Web項目
使用FTP工具將Web項目拷貝到Webapps目錄下,Web項目文件夾命名為ROOT是為了在tomcat上隱藏項目路徑
3.2配置阿里雲服務器安全組規則
開通HTTP80端口服務
3.3確認域名解析情況
3.4訪問域名,部署成功
四、設置Docker和鏡像開機啟動
4.1設置Docker開機啟動
[Serv@iz8vbg jars]$ sudo systemctl enable docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
4.2設置容器開機啟動
//創建容器時沒有設置開機啟動,通過此命令修改
[Serv@iz8vbg jars]$ sudo docker update --restart=always e39a959d7bff
e39a959d7bff
4.3使用reboot命令重啟進行測試
[Serv@iz8vbg jars]$ sudo reboot
重啟后可以看到docker服務和容器自動啟動,設置成功。
Welcome to Alibaba Cloud Elastic Compute Service ! [root@iz8vbg ~]# sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e39a959d7bff tomcat:8.0.51-jre8 "catalina.sh run" 3 weeks ago Up 3 minutes 0.0.0.0:80->8080/tcp tomcat8




