当前位置: 首页 > article >正文

利用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

浏览器访问成功

b97eea944ac6d49f74b0707029ae47c2.png

 再安装JDK

docker pull java:8

安装mysql

docker pull mysql:8

进入tomcat 部署项目

docker exec -it 镜像id bash

把项目war包上传到webapps目录下,然后reboot 重启服务器

浏览器访问 公网ip+端口+项目地址,访问成功

06e61921c804da5505e42ebe1b7d9170.png

 

 

 

 

 

 

 


http://www.kler.cn/a/406741.html

相关文章:

  • 生产制造领域的多元化模式探索
  • GPTZero:高效识别AI生成文本,保障学术诚信与内容原创性
  • 「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小
  • VSCode【下载】【安装】【汉化】【配置C++环境】【运行调试】(Windows环境)
  • uni-app 修改复选框checkbox选中后背景和字体颜色
  • MongoDB进阶篇-索引(索引概述、索引的类型、索引相关操作、索引的使用)
  • Playwright(Java版) - 7: Playwright 页面对象模型(POM)
  • Vue 是如何实现数据双向绑定的?
  • logstash 解析数组格式json数据:split, json
  • element-plus入门教程:Button
  • 【高阶数据结构】并查集
  • RPC学习
  • 安宝特分享 | 如何利用AR技术革新医疗实践:从远程急救到多学科协作
  • QT QChart+Eigen库绘制线性回归散点图
  • 【电路笔记】-布尔逻辑AND函数
  • uniapp接入BMapGL百度地图
  • 使用 cnpm 安装 Electron,才是正确快速的方法
  • 蓝桥杯每日真题 - 第21天
  • Java根据前端返回的字段名进行查询数据的方法
  • 淘宝评论大冒险:Java爬虫的“探险记”
  • react native 安装好apk后无法打开
  • Vue3 el-table 默认选中 传入的数组
  • 深度学习1
  • 数据结构之树与二叉树
  • C语言:空指针详细解读
  • 实用功能,觊觎(Edge)浏览器的内置截(长)图功能