@

目录

前言

为了提高服务器的利用率,且便于项目部署及发布,服务器采用docker部署多个项目jar包。该项目采用ssm+shiro+mysql+redis+mongdb等。


备注:本文以CentOs 7为例。

一、下载安装docker:

1.前提工作

1.1 查看linux版本

Docker 要求 CentOS 系统的内核版本不低于 3.10

 uname -r

我的版本是:3.10.0-1160.53.1.el7.x86_64

1.2 yum包更新到最新

yum -y update

1.3 安装工具包

sudo yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2

1.4 设置yum源并更新yum包索引

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

2.安装docker

2.1 安装docker-ce

yum -y install docker-ce

2.2 启动docker

systemctl start docker

2.3 查看已安装docker版本

docker -v

2.4 设置docker开机自启动

systemctl enable docker

2.5 配置镜像加速

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF systemctl daemon-reload systemctl restart docker

3.docker常用命令

// 若有旧版本docker卸载
yum remove docker docker-common docker-selinux docker-engine // 删除镜像
docker rmi 容器名字
或者
docker rm-f 容器id // 构建镜像
docker build //停止docker服务:
systemctl stop docker //重新加载docker配置文件
systemctl daemon-reload // 查看运行镜像
docker ps // 查看所有镜像
docker ps -a // 查看主目录空间使用情况
df -h /home // 查看空间
df -h // 查看状态
docker stats // 取消自启动
docker update --restart=no 容器ID // 根据容器id查看进程
docker top 容器id // 查看线程
docker top -p 进程id // 查看整个docker启动日志
docker logs -f docker容器id

二、部署项目:

备注

本文主要是本地单机用docker部署多个项目,所以只要用docker拉取tomcat及jdk,直连云服务器中redis、mysql、mongodb等服务即可。

前提在本地宿主机中先创建统一目录并配置好tomcat、项目配置及项目jar包,创建容器同时复制tomcat、项目配置及项目jar包。

之后更新多个项目的tomcat、项目配置及项目jar包时,只要更新宿主服务器的统一目录中的tomcat、项目配置、及项目jar包即可。

1.配置tomcat、项目配置及项目jar包。

备注:当前tomcat、项目配置及项目jar包都放在该宿主机根目录/setfile/下,具体引用目录结构如下:

1.1 创建根目录下统一配置目录

mkdir setfile

1.2 将tomcat、项目配置及项目jar包放入上面统一目录中,以便后面引用

1.3 赋予统一目录权限

1.3.1 根目录/setfile下所有文件的读写权限
chmod 775 /setfile/*
1.3.2 赋予tomcat的catalina可执行权限
chmod +x /setfile/config/catalina.sh

2.部署并启动项目

2.1 先拉tomcat镜像及对应的jdk

docker pull tomcat:8.5.82-jdk8

2.2 再创建容器(以容器app-01为例,之后的换个名字即可)

备注:

前面的端口8180是该宿主机对应app-01的端口,如果是新的app-02则再开另外的端口如8280,

后面的8080端口是该容器的端口,同一台宿主机可以都用这个端口,或者用其他端口。

docker run -p 8180:8080 --name app-01 \

2.3 将新建的docker容器的tomcat、项目配置及jar包引用该宿主已配置好统一的tomcat、项目配置及jar包。

// 该路径为放置项目jar包路径

-v /setfile/webapps/:/usr/local/tomcat/webapps/ \

// 该路径为项目日志路径

-v /setfile/logs/:/setfile/logs/ \

// 该路径为项目统一时间配置

-v /etc/localtime:/etc/localtime \

// 该路径为tomcat的server.xml配置路径

-v /setfile/config/server.xml:/usr/local/tomcat/conf/server.xml \

// 该路径为项目字体配置路径

-v /setfile/config/STFANGSO.TTF:/usr/share/fonts/chinese/STFANGSO.TTF \

// 该路径为项目证件配置路径

-v /setfile/cert/:/cert/ \

// 该路径为tomcat的catalina.sh路径

-v /setfile/config/catalina.sh:/usr/local/tomcat/bin/catalina.sh \

2.4 启动并设置启动tomcat及jdk

--restart=always -d tomcat:8.5.82-jdk8

3.重启项目等其他命令

3.1 启动、停止、重启项目

docker start app-01  	// 启动
docker stop app-01 // 停止
docker restart app-01 // 重启

3.2 容器加入自动重启

docker update --restart=always app-01

随心所往,看见未来。Follow your heart,see light!

欢迎点赞、关注、留言,收藏及转发,一起学习、交流!

docker部署项目的更多相关文章

  1. docker部署项目 <三>

    使用docker运行一个控制台项目,新建一个控制台测试项目 一.安装mono,直接在网易镜像中心找下载路径 docker pull hub.c..com/library/mono:latest 二.安 ...

  2. Weblogic部署项目三种方式

    在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件config.xml 进行项目的部署. 控 ...

  3. Linux Ubuntu从零开始部署web环境及项目 -----部署项目 (三)

    上一篇讲了如何在linux搭建web环境,这边将如何部署项目. 1,打包项目包 2,上传项目包 将.war项目包通过xftp上传到tomcat目录wabapps目录下 3,启动项目 通过xshell命 ...

  4. 跟我一起使用Vue.js + Docker 部署项目

    本文学习自:https://juejin.im/post/5bee5ddde51d457b8a33938c 项目环境是在ubuntu下,记得要在root目录下,不然安装vue会报错 npm insta ...

  5. tomcat deploy部署项目三种方法

    1.将应用文件夹或war文件直接copy到tomcat的webapps目录下,这样tomcat启动的时候会将webapps目录下的文件夹或war文件的内容当成应用部署.这种方式最简单且无须书写任何配置 ...

  6. 使用docker部署项目

    一.Dockerfile编写 FROM hub.c.163.com/library/java:8-alpine ADD target/*.jar app.jar EXPOSE 8761 ENTRYPO ...

  7. docker部署项目: centos+python+redis+mysql+uwsgi+nginx

    一.Centos7安装docker 1.1 环境配置 先测试是否下载了docker:查看镜像:docker images没有下载,就依次执行以下环境的安装 ①curl http://mirrors.a ...

  8. docker部署项目,对镜像,容器的操作

    服务器上的项目访问不了,所以我去看了看容器,果然 那我就删除容器呗 :docker rm 容器id docker rm f097e24a9a0f 说明:从镜像到容器,同一个镜像构建多个运行的 Dock ...

  9. docker 部署项目

    一:我使用的是阿里云的ubuntu16.4系统. 项目数据库: # 数据源 spring: datasource: type: com.zaxxer.hikari.HikariDataSource d ...

  10. 利用docker 部署项目

    docker_tomcat_jdk 7.0 1.6 app admin && api 1.yum install docker 2.service docker start 3.创建文 ...

随机推荐

  1. 监控Redis集群,有两种方法

    前提条件 redis集群:已搭建三主三从(三台主机) prometheus.grafana已安装 三台主机ip: 192.168.0.39,192.168.0.164,192.168.0.68 第一种 ...

  2. Jenkins 中使用 Git Parameter 插件动态获取 Git 的分支

  3. Linux make编译

    安装问题 linux编译流程 linux开发部分 一般来说著名的linux系统基本上分两大类: RedHat系列:Redhat.Centos.Fedora等 Debian系列:Debian.Ubunt ...

  4. 请推荐下比较适合中小企业的ERP系统,如odoo,除前期开发和不定期完善,有没有其他固定月费或年费?

    odoo的话你自己就可以下载开源的安装使用的啊,如果你要别人帮你开发和完善做技术服务的话一般都还是要年费的,主要是因为要帮你做维护或修bug什么的,自己能搞定的话自然不需要的哦.只是odoo使用的是p ...

  5. 手把手教你使用LabVIEW OpenCV dnn实现图像分类(含源码)

    @ 目录 前言 一.什么是图像分类? 1.图像分类的概念 2.MobileNet简介 二.使用python实现图像分类(py_to_py_ssd_mobilenet.py) 1.获取预训练模型 2.使 ...

  6. 【博学谷学习记录】超强总结,用心分享|MySql连接查询超详细总结

    一.概述 在实际开发中,大部分情况下都不是在单表中进行数据操作,一般都是多张表进行联合查询.通常一个业务就会对应的有好几张表.MySql中的连接查询分为交叉连接,内连接,外连接三部分.其中交叉连接也叫 ...

  7. 批量查询hive库中所有表的count

    一.准备文件 mkdir /query_hive_table_count touch query_db_name_table touch query_table_result.txt 二.编辑文件 2 ...

  8. Selenium+Python系列 - 开发环境搭建

    一.写在前面 我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些Python自动化的文章吗,答案是肯定的. 笔者Java党,整P ...

  9. Condition介绍

    Condition Condition是一种多线程通信工具,表示多线程下参与数据竞争的线程的一种状态,主要负责多线程环境下对线程的挂起和唤醒工作. 方法 // ========== 阻塞 ====== ...

  10. 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2021)-SumGNN:通过有效的KG聚集进行多类型DDI预测

    3.(2021.3.26)Bioinformatics-SumGNN:通过有效的KG聚集进行多类型DDI预测 论文标题: SumGNN: multi-typed drug interaction pr ...