内容
新鲜热乎的阿里云服务器需要临时作为Web服务器部署一些静态页面,在该服务器安装Docker(节一)并安装Tomcat容器部署Web项目(节二)。
版本
操作系统:CentOS 7.2 64位
Docker:17.12.1.ce
Tomcat容器:8.0.51-jre8
适合人群
linux新手,docker新手,java新手
说明
转载请说明出处:
参考
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开机启动
4.2设置容器开机启动
4.3使用reboot命令重启进行测试