docker部署javaweb环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yjaspire/article/details/84022273

linux系统:centos7.3

docker安装参考 

https://www.cnblogs.com/yufeng218/p/8370670.html

http://www.runoob.com/docker/centos-docker-install.html

下面地址为 linux版本jdk1.8和tomcat8

链接:https://pan.baidu.com/s/18NV-I0_QEWQ4i1Dimvg62w 
提取码:0x9u 
安装rz上传软件包

rz参考 https://blog.csdn.net/fireblue1990/article/details/74147190

1、下载CENTOS的docker镜像

镜像下载地址DaoCloud

[root@izwz99jhv6u546yu27nrwdz downloads]# docker pull centos
略

下载完成后,查看已下载的镜像如下:即centos

2、进入镜像centos进行相关操作

我的软件包路径地址

扫描二维码关注公众号,回复: 4326064 查看本文章

(1)启动并将宿主机目录/home/挂载到容器中的目录/home/jun下
 

docker run -i -t -v /home/:/home/jun centos /bin/bash
//其中:
      -i 表示以"交互模式"运行容器
      -t 表示容器启动后会进入其命令行
      -v 表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机绝对目录>:<容器绝对目录>
      89796a 即2中新容器的ID,也可以用"容器名:TAG"唯一即可
      /bin/bash 即进入容器后的bash shell命令行对应-t

(2)在容器中安装jdk和tomcat

[root@6acc8a22dc2a jun]#  mkdir -p /opt/tomcat/
//创建tomcat目录
[root@6acc8a22dc2a jun]# mkdir -p /opt/jdk/
//创建jdk目录
[root@6acc8a22dc2a jun]# tar -zxf apache-tomcat-8.0.53.tar.gz
//解压
[root@6acc8a22dc2a jun]# tar -zxf jdk-8u191-linux-x64.tar.gz
//解压
[root@6acc8a22dc2a jun]# ls
apache-tomcat-8.0.53  apache-tomcat-8.0.53-deployer.tar.gz  apache-tomcat-8.0.53.tar.gz  jdk-8u191-linux-x64.tar.gz  jdk1.8.0_191
[root@6acc8a22dc2a jun]# mv apache-tomcat-8.0.53/ /opt/tomcat/
//移动
[root@6acc8a22dc2a tomcat]# mv jdk1.8.0_191/ /opt/jdk/ 
//移动

(3)配置容器启动环境变量

设置容器启动时加载的环境变量

1、设置环境变量

首先,编辑.bashrc文件

vi ~/.bashrc

然后,在该文件末尾添加如下配置:

export JAVA_HOME=/opt/jdk/jdk1.8.0_191
export JRE_HOME=/opt/jdk/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

最后,需要使用source命令,让环境变量生效:

source ~/.bashrc  

2、编写运行脚本
我们需要编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat,具体过程如下:
首先,创建运行脚本:

vi /root/run.sh  

然后,编辑脚本内容如下:

#!/bin/bash  
source ~/.bashrc  
sh /opt/tomcat/apache-tomcat-8.0.53/bin/catalina.sh run  

注意:这里必须先加载环境变量,然后使用 Tomcat 的运行脚本来启动 Tomcat 服务。
最后,为运行脚本添加执行权限:

chmod u+x /root/run.sh 

退出容器

当以上步骤全部完成后,可使用exit或ctrl+d命令,退出容器。
随后,可使用如下命令查看正在运行的容器:
docker ps
此时,您应该看不到任何正在运行的程序,因为刚才已经使用exit命令退出的容器,此时容器处于停止状态,可使用如下命令查看所有容器:
docker ps -a

3.创建镜像并启动

创建镜像

docker commit 7jkj9899749e  jun_javaweb:1.1  

该容器的 ID 是“7jkj9899749e”,所创建的镜像名是“jun_javaweb:1.1”,随后可使用镜像来启动 Java Web 容器。

启动

docker run -d -p 8080:8080 --name javaweb jun_javaweb:1.1/root/run.sh  
-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。  
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 8080 端口,这样就向外界暴露了 8080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。  
--name:表示容器名称,用一个有意义的名称命名即可。

查看启动的容器

Docker 容器镜像删除

1.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

2.查看当前有些什么images

docker images

3.删除images,通过image的id来指定删除谁

docker rmi <image id>

想要删除untagged images,也就是那些id为<None>的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)

猜你喜欢

转载自blog.csdn.net/yjaspire/article/details/84022273