邯郸企业网站团队,h5微场景制作软件,注册网站卖东西,关键词优化排名易下拉系统大家好#xff0c;我是烤鸭#xff1a;
分享一下linux上部署docker的javaweb项目 1.环境
linux centos 7.2
64-bit 系统
kernel 3.10 查看版本号 #xff1a;
uname -r 大于3.10即可
2.安装docker
这里是官网安装教程
https://docs.docker.com/engine/installation/…大家好我是烤鸭
分享一下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?offeringcommunitytypeedition 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表示启动后进入命令行,crtld或者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 ux /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配置环境变量就可以了。