linux安装docker部署java项目
大家好,我是烤鸭:
分享一下linux上部署docker的javaweb项目
1.环境
linux centos 7.2
64-bit 系统
kernel 3.10+
查看版本号 :
uname -r
大于3.10即可
2.安装docker
这里是官网安装教程
https://docs.docker.com/engine/installation/linux/docker-ce/centos/
说一下docker ce 和ee版的区别,ce是社区版免费的,ee是企业版,收费的。
简述几个安装命令,一路打下来就好。
2.1.移除之前定的安装:
yum remove docker \docker-common \docker-selinux \docker-engine
2.2.设置仓库:
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
2.3.安装docker-ce
yum install docker-ce
2.4.启动docker
systemctl start docker
2.5.运行hello-world镜像
docker run hello-world
成功如下图:
3.docker安装成功了,我选择的是官网拉取一个centos镜像
这里是官网的商店,可以找你想要的镜像。
https://store.docker.com/search?offering=community&type=edition
https://store.docker.com/images/centos
其实要的就是这个命令:
docker pull centos
拉取到了centos的镜像,我们用镜像启动容器。
4.镜像创建与容器启动
4.1查看镜像
docker images
4.2用镜像启动容器
docker run -i -t -v /download/:/usr/my/docker/download/ 3fa822599e10 /bin/bash
其中,相关参数包括:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
说一下downlaod和/usr/my/docker/download/
前者表示你把东西放在你服务器的download/文件夹下,在进入容器的时候,文件会相应地映射到/usr/my/docker/download/这个文件夹下。
/bin/bash表示启动后进入命令行,crtl+d或者exit退出。
如果这一步出现:Permission denied,参考这篇大神的文章:http://blog.csdn.net/rznice/article/details/52170085
查看容器:
docker ps -a
4.3重新进入容器
首先启动容器:
docker start c806a68d2409
进入容器:
docker attach c806a68d2409
5.java环境安装
5.1将jdk的tar包和tomcat的tar包放到/download/文件下
如图所示:
5.2 这时候进入容器指定目录,我的是/usr/mmy/就能找找到这两个jar包,解压和配置环境变量。
5.3解压jdk和tomcat的tar包
cd /usr/my
mkdir jdk
mkdir tomcat
cd /usr/my/docker/download/
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/my/jdk
tar -zxvf apache-tomcat-9.0.0.M26.tar.gz -C /usr/my/tomcatmv apache-tomcat-9.0.0.M26 tomcat_test
5.4配置环境变量
这里我没有配置jdk的环境变量,因为不需要,当然也可以配置。
vi /etc/profile
G-到最后一行,o-新换行开始。最后一行加上:
#set java environment
export JAVA_HOME=/usr/my/jdk/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存后 执行生效:
source /etc/profile
查看java版本:
5.5配置tomcat
进入tomcat的bin目录下
cd /usr/my/tomcat/tomcat_test/bin
vi setclasspath.sh
vi setclasspath.sh
最后添加:
export JAVA_HOME=/usr/my/jdk/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
保存后,启动tomcat。
./startup.sh
6.配置容器启动环境变量
之所以前面说jdk的环境变量可以不配置,因为容器启动重新加载单独的配置文件。
6.1设置环境变量
vi ~/.bashrc
文件最后加上:
#set java environment
export JAVA_HOME=/usr/my/jdk/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
生效:
source ~/.bashrc
6.2编写运行脚本
vi /root/run.sh
脚本内容如下:
#!/bin/bash
source ~/.bashrc
sh /usr/my/tomcat/tomcat_test/bin/catalina.sh run
千万不要忘记给脚本加权限:
chmod u+x /root/run.sh
这时候容器内部的准备工作就完了。退出容器。
7.创建web镜像
查找容器:
docker ps -a
创建镜像:
docker commit c806a68d2409 test_web:1.0
启动镜像:
docker run -d -p 8999:8080 --name test test_web:1.0 /root/run.sh
-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 8999端口,这样就向外界暴露了 8999端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
--name:表示容器名称,用一个有意义的名称命名即可。
查看镜像:
docker ps
如果能查到,说明启动成功了。
最后附上一张访问成功的图(8999端口):
部分内容来自:
http://blog.csdn.net/evankaka/article/details/50722788
8.问题:
另外说一下出现的问题:
8.1.如果出现类似:bash:vi:或者cd或者ps等常用命令
command not find
检查一下/etc/profile下,是不是新配的环境变量有问题。
vi命令不好用的话:
在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用。
8.2.如果出现容器启动没反应,docker ps 找不到内容,但是启动没报错。
估计是脚本启动失败,原因不太清楚。
可以试着把/etc/profile文件还原,再尝试下。
毕竟启动容器不需要改/etc/profile这个文件,有单独的文件~/.bashrc配置环境变量就可以了。
linux安装docker部署java项目相关推荐
- Docker部署java项目(Dockerfile方式)
Java 项目如何部署到Docker中? 如何将java项目部署到Docker中呢,这里以一个springboot为例 以下命令全部都是以linux为基础的 1. 首先找一个你熟悉的目录下创建一个目录 ...
- java docker 部署_使用docker部署java项目
在接触了docker后,干什么都想用docker来弄.最近刚做完毕业设计,本来是说将项目简单在本地部署就行了,结果老师说如果部署在服务器的话有加加分,于是果断用docker来搞,多加点分. java项 ...
- jenkins+docker部署java项目
jenkins + maven + jdk + docker + docker register + dockerfile jenkins插件 # 安装插件 SSH# 配置系统设置-> SSH ...
- docker compose java_Docker-compose部署java项目
Docker-compose部署java项目 前置条件: 安装docker 安装docker-compose 防火墙啥的都设置好 dockerfile-demo FROM java:8 VOLUME ...
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- Jenkins+Pipeline+Docker部署SpringBoot项目到远程服务器
Jenkins部署 前言 Jenkins 安装 nginx配置 jenkins配置 Docker安装 项目部署 项目添加Dockerfile文件 Jenkins新建任务 使用Pipeline部署 结果 ...
- K8s 集群资源监控、高可用搭建、部署java项目 (下)
目录 集群资源监控 监控指标和搭建方案 搭建监控平台(k8s部署) 部署守护进程 部署prometheus 部署Grafana 高可用k8s集群 系统初始化 master节点部署keepalived ...
- 使用Docker部署SpringBoot项目(避坑+超级详细版本)
使用Docker部署SpringBoot项目(避坑+超级详细版本) 首先呢,非常感谢我们一起相遇在这个地方,想必此刻的你也是在一个学习求知的过程,我们一样,我们都是在求知的路上匍匐前进!看到这篇文章, ...
最新文章
- Java堆内存是线程共享的!面试官:你确定吗?
- loadrunner脚本练习
- 常用的云服务器,云数据库,高速缓存服务器
- linux 嵌入式 交叉 环境搭建 实验原理,实验三 嵌入式Linux开发环境的搭建
- 干货设计素材|环保平面画册模板
- 在xcode 项目 中针对 单个文件关闭或者打开ARC 开关
- QQ 群文件紧急扩容;钟南山团队与阿里云联手推进新冠疫苗研发;PhpStorm 2019.3.3 发布| 极客头条...
- offload error: cannot find offload entry解决办法
- 怎样取消计算机中镜像,win7系统,如何删除之前创建的镜像文件。 (不是在系统保护里头删除还原点,我试过了)...
- linux抓包工具分析工具下载,Linux下抓包工具tcpdump以及分析包的工具wireshark
- 手机app通用模板蓝色系用户登录页面
- 计算机设备布局图,电脑主板插槽对应哪些硬件?详细的主板布局图解
- 图解HTTP笔记记录
- windows 7 如何调出快速启动栏
- 机械转计算机,成功上岸鹅厂。白菜价年薪40w
- vue table表格中身份证隐藏中间几位
- Android动画之AnimatorSet联合动画用法
- 自动化运维平台搭建(一)
- (六)CDA 数据分析师Level1考试新版大纲解析(自己整理)PART 6业务数据分析
- 缩招/裁员/倒闭,互联网今年特别冷
热门文章
- 工作310:uni-初始获取数据onload
- 前端学习(2372):uni-ui库
- 前端学习(1854)vue之电商管理系统电商系统之git push后出现错误 ![rejected] master -> master(non-fast-forward) error:failed t
- 前端学习(1704):前端系列javascript之问题解答2和总结
- emqx使用webhook数据持久化到mysql
- comsol 多物理场仿真流程-以开关柜为例
- JS实现滚动监听以及滑动到顶部
- CSS之基于视窗单位的排版
- C++17新特性学习笔记
- 机器学习算法总结--K均值算法