利用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+端口+项目地址,访问成功

相关推荐
tjsoft18 分钟前
delphi 12 webserver post数据与对应的接收方式
服务器·前端·数据库
夏子曦27 分钟前
java——SpringBoot启动Tomcat的过程
java·spring boot·tomcat
北国1371 小时前
python端拉流检测后再推流到流媒体服务器实现前端拉流查看(多摄像头切换)
服务器·前端·python·opencv·流媒体服务器
不像程序猿的程序员1 小时前
生产环境中,nginx 最多可以代理多少台服务器,这个应该考虑哪些参数 ?怎么计算呢
服务器·nginx·github
兔老大RabbitMQ1 小时前
scp比rz sz传文件更好
linux·服务器·网络
路由侠内网穿透1 小时前
外网访问多人协作 OnlyOffice 文档服务器
大数据·运维·服务器
Suckerbin2 小时前
linux-FTP服务器配置
linux·运维·服务器·网络
海绵波波1072 小时前
集群聊天服务器面试问题
运维·服务器·面试
北京华人开创公司2 小时前
京准电钟:NTP网络校时服务器从入门到精准
运维·服务器·网络·时钟同步·ntp校时服务器·网络校时服务器
奇迹气泡2 小时前
nfs服务器
运维·服务器·网络