一: 首先,为什么要使用docker
docker是利用Linux内核虚拟机化技术(LXC),提供轻量级的虚拟化,以便隔离进程和资源。LXC不是硬件的虚拟化,而是Linux内核的级别的虚拟机化,相对于传统的虚拟机,节省了很多硬件资源。
上面都是百度的不逼逼了上图:
而且每个容器互不干扰反正很牛逼!
二: Linux系统安装docker
本人的服务器是阿里云的Linux系统
1.查看内核版本(Docker要求CentOS系统的内核版本高于3.10)
uname -r
2.如果内核不够高可以升级内核
yum -update
3.安装docker(我先在服务器的/etc目录下弄一个docker的目录)
cd /etc
mkdir docker
cd docker
然后再装docker
yum install docker
4.启动(停止systemctl stop docker)
systemctl start docker
5.查看docker版本
docker -v
6.设置开机自动启动
systemctl enable docker
三: 使用docker安装tomcat(因为我已经有tomcat9了这里以安装tomcat7为例)
1.搜索tomcat版本(official代表官方,automated代表自动配置一般选择官方)
docker search tomcat
2.以上其实就是相当于去docker hub网站搜索(建议去搜)
到了这里就有如何如何使用docker安装tomcat的官方文档了
3.找到自己想要的版本Tags
4.拉去该版本的tocat(:tags表示版本号)
docker pull tomcat:7.0
5.查看容器(REPOSITORY-仓库|TAG-版本|IMAGE ID-容器ID)
docker images
6.启动容器
docker run --name tomcat7 -d -p 8888:8080 tomcat:7.0
–name tomcat7代表将容器命名为tomcat7
-d代表后台运行
-p 8888:8080代表将端口映射将容器的8080端口映射到服务器的8888端口
tomcat:7.0 代表容器的版本算是一个标识
7.查看容器)
docker ps
docker ps -a
8.开启端口
查看防火墙是否关闭(service firewalld stop:关闭防火墙)
service firewalld status
开放阿里云安全组端口8888
9.测试连接
连接失败报错404或者不报错但是就是访问不到tomcat服务器
原因是从 hub.docker中下载的最新版tomcat镜像中包含有两个webapps 文件夹。一个文件夹名为webapps,但是这个文件夹是空的,里面什么也没有。另外一个文件夹名为webapps.dist,里面有tomcat完整的文件夹和文件。将空的文件夹删除,然后重命名webapps.dist为webapps即可访问到tomcat的首页。
解决办法:
docker exex -it tomcat的容器ID /bin/bash
ls -l
删除webapps文件,再将webapps.dist改名为webapps
rmdir webapps
mv webapps.dist webapps
测试连接成功(两个tomcat可以不同端口同时运行)
一下补充一些指令:
启动容器:
docker start 容器的ID
关闭容器:
docker stop 容器的ID
查看容器的日志:
docker logs cotainer-name/container-id