利用Docker容器技术部署发布web应用程序
Docker是什么?
docker 是一个开源的应用容器引擎,可以帮助开发者打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。简而言之,就是可以在任何Linux镜像上使用的这么一个技术
Docker容器的组成
docker有三大部分组成:
1.仓库:仓库里有镜像(image),这个镜像就是具体服务器的镜像,比如mysql,这个很好理解,类似于装系统的系统镜像。仓库有共有的仓库和私有仓库
2.服务器:有了镜像,我们需要运行镜像里的应用,就需要在服务器中创建容器(container)来给镜像运行,每个容器都独立运行。容器可以启动、删除、停止。容器就是一个微型的linux
系统,给应用运行的环境。
3.客户端:然后有了容器,容器里有了镜像后,就可以通过客户端来启动和管理容器。
Docker容器的安装
1.移除旧版本,如果linux上有旧docker镜像,这条命令会卸载掉
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
注意,这条指令会删除历史的所有数据
rm -rf /var/lib/docker
2.安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加docker软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.更新yum缓存
sudo yum makecache fast
5.安装最新的docker-ce
sudo yum -y install docker-ce
安装指定版本
sudo yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.io
6.启动docker后台服务
sudo systemctl start docker
// 设置开机自启
sudo systemctl enable docker
查看版本
docker -v
Docker里安装依赖环境
先pull一个Tomcat
docker pull tomcat:8.0
启动tomcat
docker run --name my_tomcat -it -d -p [docker容器映射端口]:[tomcate端口] 镜像id
浏览器访问成功
再安装JDK
docker pull java:8
安装mysql
docker pull mysql:8
进入tomcat 部署项目
docker exec -it 镜像id bash
把项目war包上传到webapps目录下,然后reboot 重启服务器
浏览器访问 公网ip+端口+项目地址,访问成功